summaryrefslogtreecommitdiff
path: root/gcc/ada/scos.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-02 10:06:14 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-02 10:06:14 +0000
commit9b52e7a71a1b2b1f8726fc3b63d4460ec568413c (patch)
tree32596f0b0a7fd593fddbf191b5cca6d3fdbd88f6 /gcc/ada/scos.ads
parent6dbb316fde669436ba6f551b853088c8c8658d9e (diff)
downloadgcc-9b52e7a71a1b2b1f8726fc3b63d4460ec568413c.tar.gz
2011-08-02 Thomas Quinot <quinot@adacore.com>
* scos.ads: Update comments. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the base type, because the parent may be a subtype of a private type whose convention is established in a private part. 2011-08-02 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return statement in a block when the expansion of the return expression has created a finalization chain. * freeze.adb (Freeze_Expression): Alphabetize all choices associated with the parent node. Add N_Extended_Return_Statement to handle the case where a transient object declaration appears in the Return_Object_Declarations list of an extended return statement. 2011-08-02 Matthew Gingell <gingell@adacore.com> * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly unused parameter 'name'. 2011-08-02 Ed Schonberg <schonberg@adacore.com> * sem_elim.adb (Set_Eliminated): If the overridden operation is an inherited operation, check whether its alias, which is the source operastion that it renames, has been marked eliminated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177121 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/scos.ads')
-rw-r--r--gcc/ada/scos.ads24
1 files changed, 19 insertions, 5 deletions
diff --git a/gcc/ada/scos.ads b/gcc/ada/scos.ads
index fbb7e90ee4e..40a278eb404 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