From ddf67a1d5d44d028c1c90ef16c8f5e1d3c6d102c Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Mon, 29 Aug 2011 15:48:36 +0200 Subject: [multiple changes] 2011-08-29 Vincent Celier * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler, Binder or Linker of the main project file. 2011-08-29 Ed Schonberg * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic unit. 2011-08-29 Yannick Moy * exp_ch9.adb: Partial revert of previous change for Alfa mode 2011-08-29 Yannick Moy * exp_ch11.adb: Minor expansion of comment. 2011-08-29 Yannick Moy * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities. 2011-08-29 Ed Schonberg * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal interpretation, set the type before resolving the operands, because legality checks on an exponention operand need to know the type of the context. 2011-08-29 Ed Schonberg * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed cleanups on a master if the instance is within a generic unit. Complement to the corresponding fix to inline.adb for K520-030. 2011-08-29 Tristan Gingold * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current occurrence. * exp_intr.adb: Minor comment fix. 2011-08-29 Bob Duff * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where Delay_Required was used as an uninitialized variable. From-SVN: r178233 --- gcc/ada/inline.adb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gcc/ada/inline.adb') diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb index ec534e1..0eb8dce 100644 --- a/gcc/ada/inline.adb +++ b/gcc/ada/inline.adb @@ -496,8 +496,10 @@ package body Inline is return; end if; - -- If the instance appears within a generic subprogram there is nothing - -- to finalize either. + -- If the instance is within a generic unit, no finalization code + -- can be generated. Note that at this point all bodies have been + -- analyzed, and the scope stack itself is not present, and the flag + -- Inside_A_Generic is not set. declare S : Entity_Id; @@ -505,7 +507,7 @@ package body Inline is begin S := Scope (Inst); while Present (S) and then S /= Standard_Standard loop - if Is_Generic_Subprogram (S) then + if Is_Generic_Unit (S) then return; end if; -- cgit v1.1