aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/scos.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-08-29 10:40:53 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-29 10:40:53 +0200
commit25b589cbd523d5b7ccf42c7807f9cac86879008d (patch)
treee9a56ce2a97ee5439638449e07f387032b42b60d /gcc/ada/scos.ads
parent1197ddb11e3560bf1fb0f942746b85267948e094 (diff)
downloadgcc-25b589cbd523d5b7ccf42c7807f9cac86879008d.zip
gcc-25b589cbd523d5b7ccf42c7807f9cac86879008d.tar.gz
gcc-25b589cbd523d5b7ccf42c7807f9cac86879008d.tar.bz2
[multiple changes]
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a statement list is wrapped in a block, the block is explicitly analyzed in order to properly redecorate the entities and create a servicing finalizer. 2011-08-29 Tristan Gingold <gingold@adacore.com> * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove. (Set_Zero_Cost_Handling): Remove. 2011-08-29 Thomas Quinot <quinot@adacore.com> * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting From-SVN: r178162
Diffstat (limited to 'gcc/ada/scos.ads')
-rw-r--r--gcc/ada/scos.ads33
1 files changed, 18 insertions, 15 deletions
diff --git a/gcc/ada/scos.ads b/gcc/ada/scos.ads
index 61a6758..d8ab7a8 100644
--- a/gcc/ada/scos.ads
+++ b/gcc/ada/scos.ads
@@ -152,7 +152,6 @@ package SCOs is
-- E EXIT statement
-- F FOR loop statement (from FOR through end of iteration scheme)
-- I IF statement (from IF through end of condition)
- -- p disabled PRAGMA
-- P PRAGMA
-- R extended RETURN statement
-- W WHILE loop statement (from WHILE through end of condition)
@@ -227,15 +226,15 @@ package SCOs is
-- Here * is one of the following characters:
- -- I decision in IF statement or conditional expression
-- E decision in EXIT WHEN statement
-- G decision in entry guard
+ -- I decision in IF statement or conditional expression
-- P decision in pragma Assert/Check/Pre_Condition/Post_Condition
-- W decision in WHILE iteration scheme
-- X decision appearing in some other expression context
- -- For I, E, G, P, W, sloc is the source location of the IF, EXIT,
- -- ENTRY, PRAGMA or WHILE token, respectively
+ -- For E, G, I, P, W, sloc is the source location of the EXIT, ENTRY, IF,
+ -- PRAGMA or WHILE token, respectively
-- For X, sloc is omitted
@@ -388,10 +387,16 @@ package SCOs is
-- statements on a single CS line (possibly followed by Cs continuation
-- lines).
- -- Decision (IF/EXIT/WHILE)
- -- C1 = 'I'/'E'/'W' (for IF/EXIT/WHILE)
+ -- Note: for a pragma that may be disabled (Debug, Assert, PPC, Check),
+ -- the entry is initially created with C2 = 'p', to mark it as disabled.
+ -- Later on during semantic analysis, if the pragma is enabled,
+ -- Set_SCO_Pragma_Enabled changes C2 to 'P' to cause the entry to be
+ -- emitted in Put_SCOs.
+
+ -- Decision (EXIT/entry guard/IF/WHILE)
+ -- C1 = 'E'/'G'/'I'/'W' (for EXIT/entry Guard/IF/WHILE)
-- C2 = ' '
- -- From = IF/EXIT/WHILE token
+ -- From = EXIT/ENTRY/IF/WHILE token
-- To = No_Source_Location
-- Last = unused
@@ -402,14 +407,12 @@ package SCOs is
-- To = No_Source_Location
-- Last = unused
- -- Note: when the parse tree is first scanned, we unconditionally build
- -- a pragma decision entry for any decision in a pragma (here as always
- -- in SCO contexts, the only pragmas with decisions are Assert, Check,
- -- dyadic Debug, Precondition and Postcondition).
- --
- -- During analysis, if the pragma is enabled, Set_SCO_Pragma_Enabled
- -- marks the statement SCO table entry as enaabled (C1 changed from 'p'
- -- to 'P') to cause the entry to be emitted in Put_SCOs.
+ -- Note: when the parse tree is first scanned, we unconditionally build a
+ -- pragma decision entry for any decision in a pragma (here as always in
+ -- SCO contexts, the only pragmas with decisions are Assert, Check,
+ -- dyadic Debug, Precondition and Postcondition). These entries will
+ -- be omitted in output if the pragma is disabled (see comments for
+ -- statement entries).
-- Decision (Expression)
-- C1 = 'X'