aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_elab.adb
diff options
context:
space:
mode:
authorHristian Kirtchev <kirtchev@adacore.com>2019-07-09 07:54:29 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2019-07-09 07:54:29 +0000
commit16cc65b61a7c00920ff66d45d3b23a9e313dd1b8 (patch)
treef81c44045c09863a44e70504872ec7c148f000f3 /gcc/ada/sem_elab.adb
parentfb95bfcc8138378d4e5786c67f5eb49b84a54683 (diff)
downloadgcc-16cc65b61a7c00920ff66d45d3b23a9e313dd1b8.zip
gcc-16cc65b61a7c00920ff66d45d3b23a9e313dd1b8.tar.gz
gcc-16cc65b61a7c00920ff66d45d3b23a9e313dd1b8.tar.bz2
[Ada] Elaboration order v4.0 activation
This patch enables the elaboration order v4.0 as the default elaboration order in GNATbind. The previous v3.0 elaboration order is now referred to as the "legacy elaboration order mechanism" and is available using binder switch -H. 2019-07-09 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * bindo.adb: Remove with and use clauses for Debug. Add with and use clauses for Opt. (Find_Elaboration_Order): Enable the v4.0 elaboration order. The v3.0 mechanism is now available under binder switch -H. * bindusg.adb (Display): Enable switch -H. * debug.adb: Free compiler switch -gnatd_G. Free binder switch -d_N. * sem_elab.adb: Update the section on switches to remove -gnatd_G. (Invocation_Graph_Recording_OK): The invocation graph is now unconditionally recorded in ALI files. * switch-b.adb (Scan_Binder_Switches): Scan switch -H. * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update the documentation on compiler switches related to elaboration. Update the documentation on binder switches to include switch -H. * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the documentation on elaboration order handling in GNAT. * gnat_ugn.texi: Regenerate. From-SVN: r273280
Diffstat (limited to 'gcc/ada/sem_elab.adb')
-rw-r--r--gcc/ada/sem_elab.adb17
1 files changed, 1 insertions, 16 deletions
diff --git a/gcc/ada/sem_elab.adb b/gcc/ada/sem_elab.adb
index 8612428..3145559 100644
--- a/gcc/ada/sem_elab.adb
+++ b/gcc/ada/sem_elab.adb
@@ -496,12 +496,6 @@ package body Sem_Elab is
-- actual subprograms through generic formal subprograms. As a
-- result, the calls are not recorded or processed.
--
- -- -gnatd_G encode invocation graph in ALI files
- --
- -- The ABE mechanism encodes the invocation graph of the main
- -- unit. This includes elaboration code, as well as invocation
- -- constructs.
- --
-- -gnatd_i ignore activations and calls to instances for elaboration
--
-- The ABE mechanism ignores calls and task activations when they
@@ -12192,19 +12186,10 @@ package body Sem_Elab is
Main_Cunit : constant Node_Id := Cunit (Main_Unit);
begin
- -- ??? Remove the following use of the debug flag when switching from
- -- the old to the new elaboration-order mechanism.
-
- -- Nothing to do when switch -gnatd_G (encode invocation graph in ALI
- -- files) is not in effect.
-
- if not Debug_Flag_Underscore_GG then
- return False;
-
-- Nothing to do when compiling for GNATprove because the invocation
-- graph is not needed.
- elsif GNATprove_Mode then
+ if GNATprove_Mode then
return False;
-- Nothing to do when the compilation will not produce an ALI file