aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/debug.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/debug.adb')
-rw-r--r--gcc/ada/debug.adb21
1 files changed, 14 insertions, 7 deletions
diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb
index 25d08399220..2a812046247 100644
--- a/gcc/ada/debug.adb
+++ b/gcc/ada/debug.adb
@@ -75,7 +75,7 @@ package body Debug is
-- dI Inhibit internal name numbering in gnatG listing
-- dJ Prepend subprogram name in messages
-- dK Kill all error messages
- -- dL Output trace information on elaboration checking
+ -- dL Ignore external calls from instances for elaboration
-- dM Assume all variables are modified (no current values)
-- dN No file name information in exception messages
-- dO Output immediate error messages
@@ -112,7 +112,7 @@ package body Debug is
-- d.s Strict secondary stack management
-- d.t Disable static allocation of library level dispatch tables
-- d.u Enable Modify_Tree_For_C (update tree for c)
- -- d.v
+ -- d.v Enforce SPARK elaboration rules in SPARK code
-- d.w Do not check for infinite loops
-- d.x No exception handlers
-- d.y Disable implicit pragma Elaborate_All on task bodies
@@ -414,10 +414,9 @@ package body Debug is
-- of all error messages. It is used in regression tests where the
-- error messages are target dependent and irrelevant.
- -- dL Output trace information on elaboration checking. This debug
- -- switch causes output to be generated showing each call or
- -- instantiation as it is checked, and the progress of the recursive
- -- trace through elaboration calls at compile time.
+ -- 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.
-- dM Assume all variables have been modified, and ignore current value
-- indications. This debug flag disconnects the tracking of constant
@@ -601,6 +600,13 @@ package body Debug is
-- d.u Sets Modify_Tree_For_C mode in which tree is modified to make it
-- easier to generate code using a C compiler.
+ -- d.v This flag enforces the elaboration rules defined in the SPARK
+ -- Reference Manual, chapter 7.7, to all SPARK code within a unit. As
+ -- a result, constructs which violate the rules in chapter 7.7 are no
+ -- longer accepted, even if the implementation is able to statically
+ -- ensure that accepting these constructs does not introduce the
+ -- possibility of failing an elaboration check.
+
-- d.w This flag turns off the scanning of loops to detect possible
-- infinite loops.
@@ -664,7 +670,8 @@ 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.
+ -- situation of ignoring such calls to aid in transition. This switch
+ -- is orthogonal to dL.
-- d.H Sets ASIS_GNSA_Mode to True. This signals the front end to suppress
-- the call to gigi in ASIS_Mode.