diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-05 10:31:58 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-05 10:31:58 +0000 |
commit | e802f51577d58622ca7f2e42234f3a11362730d9 (patch) | |
tree | c5762214db801c9b166c1ce7591579e4351a1260 /gcc/ada/scos.ads | |
parent | 80e34234dd0687c8d3acaf206569822189769ca6 (diff) | |
download | gcc-e802f51577d58622ca7f2e42234f3a11362730d9.tar.gz |
2011-12-05 Bob Duff <duff@adacore.com>
* sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
to the Comes_From_Source check, to deal properly with the case
of indirect inheritance of "=".
2011-12-05 Thomas Quinot <quinot@adacore.com>
PR ada/51307
* s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
not a macro.
2011-12-05 Thomas Quinot <quinot@adacore.com>
* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
information in SCOs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182004 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/scos.ads')
-rw-r--r-- | gcc/ada/scos.ads | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/gcc/ada/scos.ads b/gcc/ada/scos.ads index 904c6bfe9b8..1f13e62b901 100644 --- a/gcc/ada/scos.ads +++ b/gcc/ada/scos.ads @@ -135,14 +135,14 @@ package SCOs is -- any statement with a label (the label itself is not part of the -- entry point that is recorded). - -- Each entry point must appear as the first entry on a CS line. - -- The idea is that if any simple statement on a CS line is known to have + -- Each entry point must appear as the first statement entry on a CS + -- line. Thus, if any simple statement on a CS line is known to have -- been executed, then all statements that appear before it on the same -- CS line are certain to also have been executed. -- The form of a statement line in the ALI file is: - -- CS *sloc-range [*sloc-range...] + -- CS [dominance] *sloc-range [*sloc-range...] -- where each sloc-range corresponds to a single statement, and * is -- one of: @@ -165,6 +165,23 @@ package SCOs is -- and is omitted for all other cases + -- The optional dominance marker is of the form gives additional + -- information as to how the sequence of statements denoted by the CS + -- line can be entered: + + -- >F<sloc> + -- sequence is entered only if the decision at <sloc> is False + -- >T<sloc> + -- sequence is entered only if the decision at <sloc> is True + + -- >S<sloc> + -- sequence is entered only if the statement at <sloc> has been + -- executed + + -- >E<sloc-range> + -- sequence is the sequence of statements for a exception_handler + -- with the given sloc range + -- Note: up to 6 entries can appear on a single CS line. If more than 6 -- entries appear in one logical statement sequence, continuation lines -- are marked by Cs and appear immediately after the CS line. @@ -381,7 +398,7 @@ package SCOs is -- The SCO_Table_Entry values appear as follows: -- Statements - -- C1 = 'S' for entry point, 's' otherwise + -- C1 = 'S' -- C2 = statement type code to appear on CS line (or ' ' if none) -- From = starting source location -- To = ending source location @@ -400,6 +417,15 @@ package SCOs is -- Set_SCO_Pragma_Enabled changes C2 to 'P' to cause the entry to be -- emitted in Put_SCOs. + -- Dominance marker + -- C1 = '>' + -- C2 = 'F'/'T'/'S'/'E' + -- From = Decision/statement sloc ('F'/'T'/'S'), + -- handler first sloc ('E') + -- To = No_Source_Location ('F'/'T'/'S'), handler last sloc ('E') + + -- Note: A dominance marker is always followed by a statement entry. + -- Decision (EXIT/entry guard/IF/WHILE) -- C1 = 'E'/'G'/'I'/'W' (for EXIT/entry Guard/IF/WHILE) -- C2 = ' ' |