aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_elab.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-08-05 15:46:16 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-05 15:46:16 +0200
commit97ed5872c6629a96fcc4b4ff4ccaca41950ae26c (patch)
tree3dba7c34a2887ecbc914d830d047ba0a816c8d6b /gcc/ada/sem_elab.ads
parent9aff36e9f183e2f4590a9e03d79ee1e3d21724a2 (diff)
downloadgcc-97ed5872c6629a96fcc4b4ff4ccaca41950ae26c.zip
gcc-97ed5872c6629a96fcc4b4ff4ccaca41950ae26c.tar.gz
gcc-97ed5872c6629a96fcc4b4ff4ccaca41950ae26c.tar.bz2
[multiple changes]
2011-08-05 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: (Check_Private_Overriding): better error message, suggested by AI95-0068. 2011-08-05 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve the two potential initialization calls. This accounts for any access-before-elaboration checks which may precede the initialization calls. (Next_Suitable_Statement): New routine. Returns the next real statement after the input node while skipping generated checks. * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along with comment on usage. Do not generate Elaborate_All when the trigger is a finalization call coming from a type init proc. (Check_Elab_Call): Propagate the initialization procedure context to subsequent calls to Check_A_Call. (Check_Internal_Call_Continue): Propagate the initialization procedure context to subsequent calls to Check_Elab_Call. (Is_Finalization_Procedure): New routine. Returns True if the input entity denotes a [Deep_]Finalize routine. * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc along with comment on usage. 2011-08-05 Vadim Godunko <godunko@adacore.com> * s-atocou.ads: Add list of supported platforms. 2011-08-05 Yannick Moy <moy@adacore.com> * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables * opt.ads (Disable_ALI_File): new Boolean flag * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing 2011-08-05 Ed Falis <falis@adacore.com> * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that environ is properly defined. 2011-08-05 Vincent Celier <celier@adacore.com> * make.adb (Compilation_Phase): Exit immediately when all objects have been found up to date, to avoid multiple exit messages. * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the same project for languages with no compiler. * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch -eI. From-SVN: r177434
Diffstat (limited to 'gcc/ada/sem_elab.ads')
-rw-r--r--gcc/ada/sem_elab.ads10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ada/sem_elab.ads b/gcc/ada/sem_elab.ads
index 7b85b6f..f7a5246 100644
--- a/gcc/ada/sem_elab.ads
+++ b/gcc/ada/sem_elab.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1997-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 1997-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -118,12 +118,16 @@ package Sem_Elab is
-- the resulting code does not contain subprogram specs with no
-- corresponding bodies.
- procedure Check_Elab_Call (N : Node_Id; Outer_Scope : Entity_Id := Empty);
+ procedure Check_Elab_Call
+ (N : Node_Id;
+ Outer_Scope : Entity_Id := Empty;
+ In_Init_Proc : Boolean := False);
-- Check a call for possible elaboration problems. The node N is either
-- an N_Function_Call or N_Procedure_Call_Statement node. The Outer_Scope
-- argument indicates whether this is an outer level call from Sem_Res
-- (Outer_Scope set to Empty), or an internal recursive call (Outer_Scope
- -- set to entity of outermost call, see body).
+ -- set to entity of outermost call, see body). Flag In_Init_Proc should be
+ -- set whenever the current context is a type init proc.
procedure Check_Elab_Calls;
-- Not all the processing for Check_Elab_Call can be done at the time