diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2019-07-09 07:54:29 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-07-09 07:54:29 +0000 |
commit | 16cc65b61a7c00920ff66d45d3b23a9e313dd1b8 (patch) | |
tree | f81c44045c09863a44e70504872ec7c148f000f3 /gcc/ada/sem_elab.adb | |
parent | fb95bfcc8138378d4e5786c67f5eb49b84a54683 (diff) | |
download | gcc-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.adb | 17 |
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 |