aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/inline.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-08-29 15:48:36 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-29 15:48:36 +0200
commitddf67a1d5d44d028c1c90ef16c8f5e1d3c6d102c (patch)
treebdea3a0b0de9cd409e4fa3488b77a5a34819faea /gcc/ada/inline.adb
parent690943fcd4d667a4de8614a565bc13a66816c94a (diff)
downloadgcc-ddf67a1d5d44d028c1c90ef16c8f5e1d3c6d102c.zip
gcc-ddf67a1d5d44d028c1c90ef16c8f5e1d3c6d102c.tar.gz
gcc-ddf67a1d5d44d028c1c90ef16c8f5e1d3c6d102c.tar.bz2
[multiple changes]
2011-08-29 Vincent Celier <celier@adacore.com> * 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 <schonberg@adacore.com> * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic unit. 2011-08-29 Yannick Moy <moy@adacore.com> * exp_ch9.adb: Partial revert of previous change for Alfa mode 2011-08-29 Yannick Moy <moy@adacore.com> * exp_ch11.adb: Minor expansion of comment. 2011-08-29 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * 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 <schonberg@adacore.com> * 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 <gingold@adacore.com> * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current occurrence. * exp_intr.adb: Minor comment fix. 2011-08-29 Bob Duff <duff@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where Delay_Required was used as an uninitialized variable. From-SVN: r178233
Diffstat (limited to 'gcc/ada/inline.adb')
-rw-r--r--gcc/ada/inline.adb8
1 files changed, 5 insertions, 3 deletions
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;