r266125 - in /trunk/gcc: ada/ChangeLog ada/exp_...

pmderodat@gcc.gnu.org pmderodat@gcc.gnu.org
Wed Nov 14 11:42:00 GMT 2018


Author: pmderodat
Date: Wed Nov 14 11:41:41 2018
New Revision: 266125

URL: https://gcc.gnu.org/viewcvs?rev=266125&root=gcc&view=rev
Log:
[Ada] Compiler crash on decl. with limited aggregate and address clause

This patch fixes a compiler abort on an object declaration whose
expression is an aggregate, when the type of the object is limited and
the declaration is followed by an address clause for the declared
object.

2018-11-14  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* exp_ch3.adb: (Expand_N_Object_Declaration): If the expression
	is a limited aggregate its resolution is delayed until the
	object declaration is expanded.
	* sem_ch3.adb: (Analyze_Object_Declaration): If the expression
	is a limited aggregate and the declaration has a following
	address clause indicate that resolution of the aggregate (which
	must be built in place) must be delayed.

gcc/testsuite/

	* gnat.dg/limited_aggr.adb, gnat.dg/limited_aggr.ads: New
	testcase.

Added:
    trunk/gcc/testsuite/gnat.dg/limited_aggr.adb
    trunk/gcc/testsuite/gnat.dg/limited_aggr.ads
Modified:
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/exp_ch3.adb
    trunk/gcc/ada/sem_ch3.adb
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list