aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/switch-c.adb
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-12-15 10:21:24 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-12-15 10:21:24 +0000
commitc581c5205ae33fdf22ec27cd30047dd45abfb085 (patch)
tree431fe8c09d32345713b3912483edaa98cb899423 /gcc/ada/switch-c.adb
parent56af86884f7795f5b77544744cd2e0ad825fcdde (diff)
downloadgcc-c581c5205ae33fdf22ec27cd30047dd45abfb085.zip
gcc-c581c5205ae33fdf22ec27cd30047dd45abfb085.tar.gz
gcc-c581c5205ae33fdf22ec27cd30047dd45abfb085.tar.bz2
exp_unst.adb (Unnest_Subprograms): Nothing to do if the main unit is a generic package body.
gcc/ada/ 2017-12-15 Ed Schonberg <schonberg@adacore.com> * exp_unst.adb (Unnest_Subprograms): Nothing to do if the main unit is a generic package body. Unnesting is only an issue when generating code, and if the main unit is generic then nested instance bodies have not been created and analyzed, and unnesting will crash in the absence of those bodies, 2017-12-15 Hristian Kirtchev <kirtchev@adacore.com> * inline.adb (Add_Inlined_Body): Do not add a function which is completed by an expression function defined in the same context as the initial declaration because the completing body is not in a package body. (Is_Non_Loading_Expression_Function): New routine. 2017-12-15 Hristian Kirtchev <kirtchev@adacore.com> * debug.adb: Move the functionality of -gnatdL to -gnatd_i. Restore the behavior of -gnatdL from before revision 255412. * sem_elab.adb: Update the section of compiler switches. (Build_Call_Marker): Do not create a marker for a call which originates from an expanded spec or body of an instantiated gener, does not invoke a generic formal subprogram, the target is external to the instance, and -gnatdL is in effect. (In_External_Context): New routine. (Process_Conditional_ABE_Activation_Impl): Update the uses of -gnatdL and associated flag. (Process_Conditional_ABE_Call): Update the uses of -gnatdL and associated flag. * switch-c.adb (Scan_Front_End_Switches): Switch -gnatJ now sets switch -gnatd_i. * exp_unst.adb: Minor typo fixes and edits. 2017-12-15 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Possible_Freeze): Do not set Delayed_Freeze on an subprogram instantiation, now that the enclosing wrapper package carries an explicit freeze node. THis prevents freeze nodes for the subprogram for appearing in the wrong scope. This is relevant when the generic subprogram has a private or incomplete formal type and the instance appears within a package that declares the actual type for the instantiation, and that type has itself a delayed freeze. 2017-12-15 Patrick Bernardi <bernardi@adacore.com> * doc/gnat_ugn/gnat_and_program_execution.rst: Removed references to the environment variable GNAT_STACK_LIMIT from the Stack Overflow Checking section as it is no longer used by any of our supported targets. gcc/testsuite/ 2017-12-15 Hristian Kirtchev <kirtchev@adacore.com> * gnat.dg/expr_func_main.adb, gnat.dg/expr_func_pkg.ads, gnat.dg/expr_func_pkg.adb: New testcase. 2017-12-15 Hristian Kirtchev <kirtchev@adacore.com> * gnat.dg/abe_pkg.adb, gnat.dg/abe_pkg.ads: New testcase. 2017-12-15 Ed Schonberg <schonberg@adacore.com> * gnat.dg/subp_inst.adb, gnat.dg/subp_inst_pkg.adb, gnat.dg/subp_inst_pkg.ads: New testcase. From-SVN: r255683
Diffstat (limited to 'gcc/ada/switch-c.adb')
-rw-r--r--gcc/ada/switch-c.adb27
1 files changed, 15 insertions, 12 deletions
diff --git a/gcc/ada/switch-c.adb b/gcc/ada/switch-c.adb
index c6ba979..57cddd0 100644
--- a/gcc/ada/switch-c.adb
+++ b/gcc/ada/switch-c.adb
@@ -950,11 +950,11 @@ package body Switch.C is
-- Common relaxations for both ABE mechanisms
--
- -- -gnatd.G (ignore calls through generic formal parameters for
- -- elaboration)
- -- -gnatd.U (ignore indirect calls for static elaboration)
- -- -gnatd.y (disable implicit pragma Elaborate_All on task
- -- bodies)
+ -- -gnatd.G (ignore calls through generic formal parameters
+ -- for elaboration)
+ -- -gnatd.U (ignore indirect calls for static elaboration)
+ -- -gnatd.y (disable implicit pragma Elaborate_All on task
+ -- bodies)
Debug_Flag_Dot_GG := True;
Debug_Flag_Dot_UU := True;
@@ -967,17 +967,20 @@ package body Switch.C is
-- Relaxations to the default ABE mechanism
--
- -- -gnatd_a (stop elaboration checks on accept or select
- -- statement)
- -- -gnatd_e (ignore entry calls and requeue statements for
- -- elaboration)
- -- -gnatd_p (ignore assertion pragmas for elaboration)
- -- -gnatdL (ignore activations and calls to instances for
- -- elaboration)
+ -- -gnatd_a (stop elaboration checks on accept or select
+ -- statement)
+ -- -gnatd_e (ignore entry calls and requeue statements for
+ -- elaboration)
+ -- -gnatd_i (ignore activations and calls to instances for
+ -- elaboration)
+ -- -gnatd_p (ignore assertion pragmas for elaboration)
+ -- -gnatdL (ignore external calls from instances for
+ -- elaboration)
else
Debug_Flag_Underscore_A := True;
Debug_Flag_Underscore_E := True;
+ Debug_Flag_Underscore_I := True;
Debug_Flag_Underscore_P := True;
Debug_Flag_LL := True;
end if;