diff options
author | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-12-15 10:21:24 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-12-15 10:21:24 +0000 |
commit | c581c5205ae33fdf22ec27cd30047dd45abfb085 (patch) | |
tree | 431fe8c09d32345713b3912483edaa98cb899423 /gcc/ada/debug.adb | |
parent | 56af86884f7795f5b77544744cd2e0ad825fcdde (diff) | |
download | gcc-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/debug.adb')
-rw-r--r-- | gcc/ada/debug.adb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb index 0a14cec..05b2c31 100644 --- a/gcc/ada/debug.adb +++ b/gcc/ada/debug.adb @@ -153,7 +153,7 @@ package body Debug is -- d_f -- d_g -- d_h - -- d_i + -- d_i Ignore activations and calls to instances for elaboration -- d_j -- d_k -- d_l @@ -479,8 +479,8 @@ package body Debug is -- error messages are target dependent and irrelevant. -- dL The compiler ignores calls in instances and invoke subprograms - -- which are external to the instance for the static elaboration - -- model. This switch is orthogonal to d.G. + -- which are external to the instance for both the static and dynamic + -- elaboration models. -- dM Assume all variables have been modified, and ignore current value -- indications. This debug flag disconnects the tracking of constant @@ -734,8 +734,7 @@ package body Debug is -- d.G Previously the compiler ignored calls via generic formal parameters -- when doing the analysis for the static elaboration model. This is -- now fixed, but we provide this debug flag to revert to the previous - -- situation of ignoring such calls to aid in transition. This switch - -- is orthogonal to dL. + -- situation of ignoring such calls to aid in transition. -- d.H Sets ASIS_GNSA_Mode to True. This signals the front end to suppress -- the call to gigi in ASIS_Mode. @@ -832,6 +831,10 @@ package body Debug is -- control, conditional entry calls, timed entry calls, and requeue -- statements in both the static and dynamic elaboration models. + -- d_i The compiler ignores calls and task activations when they target a + -- subprogram or task type defined in an external instance for both + -- the static and dynamic elaboration models. + -- d_p The compiler ignores calls to subprograms which verify the run-time -- semantics of invariants and postconditions in both the static and -- dynamic elaboration models. |