diff options
Diffstat (limited to 'gcc/ada/scos.ads')
-rw-r--r-- | gcc/ada/scos.ads | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/gcc/ada/scos.ads b/gcc/ada/scos.ads index fbb7e90..40a278e 100644 --- a/gcc/ada/scos.ads +++ b/gcc/ada/scos.ads @@ -165,6 +165,12 @@ package SCOs is -- entries appear in one logical statement sequence, continuation lines -- are marked by Cs and appear immediately after the CS line. + -- Implementation permission: a SCO generator is permitted to emit a + -- narrower SLOC range for a statement if the corresponding code + -- generation circuitry ensures that all debug information for the code + -- implementing the statement will be labeled with SLOCs that fall within + -- that narrower range. + -- Decisions -- Note: in the following description, logical operator includes only the @@ -246,16 +252,17 @@ package SCOs is -- term ::= element -- term ::= expression - -- element ::= outcome sloc-range + -- element ::= *sloc-range - -- outcome is one of the following letters: + -- where * is one of the following letters: -- c condition -- t true condition -- f false condition - -- where t/f are used to mark a condition that has been recognized by - -- the compiler as always being true or false. + -- t/f are used to mark a condition that has been recognized by the + -- compiler as always being true or false. c is the normal case of + -- conditions whose value is not known at compile time. -- & indicates AND THEN connecting two conditions @@ -277,7 +284,8 @@ package SCOs is -- form is used, e.g. A in (2,7,11.15). -- The expression can be followed by chaining indicators of the form - -- Tsloc-range or Fsloc-range. + -- Tsloc-range or Fsloc-range, where the sloc-range is that of some + -- entry on a CS line. -- T* is present when the statement with the given sloc range is executed -- if, and only if, the decision evaluates to TRUE. @@ -304,6 +312,12 @@ package SCOs is -- In all other cases, chaining indicators are omitted + -- Implementation permission: a SCO generator is permitted to emit a + -- narrower SLOC range for a condition if the corresponding code + -- generation circuitry ensures that all debug information for the code + -- evaluating the condition will be labeled with SLOCs that fall within + -- that narrower range. + -- Case Expressions -- For case statements, we rely on statement coverage to make sure that |