This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Crash on subprogram instantiation in nested package


This patch fixes a crash on a subpogram instance that appears within a package
that declares the actual type for the instance, when the corresponding type is
a private or incomplete formal type.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada

2017-12-15  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Possible_Freeze): Do not set Delayed_Freeze on an
	subprogram instantiation, now that the enclosing wrapper package
	carries an explicit freeze node. THis prevents freeze nodes for the
	subprogram for appearing in the wrong scope. This is relevant when the
	generic subprogram has a private or incomplete formal type and the
	instance appears within a package that declares the actual type for the
	instantiation, and that type has itself a delayed freeze.

gcc/testsuite/

2017-12-15  Ed Schonberg  <schonberg@adacore.com>

	* gnat.dg/subp_inst.adb, gnat.dg/subp_inst_pkg.adb,
	gnat.dg/subp_inst_pkg.ads: New testcase.

Attachment: difs
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]