summaryrefslogtreecommitdiff
path: root/gcc/ada/put_scos.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-22 15:56:47 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-22 15:56:47 +0000
commita9958373732b92aa3746e59b2ebd986b779d545d (patch)
treeee678145b2dde82f9ff47f5337fba7033e2f1e0b /gcc/ada/put_scos.adb
parentb543d604735412e9b2ef1b57677a05e181f6a89d (diff)
downloadgcc-a9958373732b92aa3746e59b2ebd986b779d545d.tar.gz
2009-07-22 Eric Botcazou <ebotcazou@adacore.com>
* exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if they are already of the base type of the index. 2009-07-22 Brett Porter <porter@adacore.com> * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__. 2009-07-22 Robert Dewar <dewar@adacore.com> * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS) * gnat_ugn.texi: Add documentation for -gnateS switch * ug_words: Add entry for -gnateS /SCO_OUTPUT * gcc-interface/Make-lang.in: Update dependenciest.3 * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb, par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial complete information for SCO input/output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149945 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/put_scos.adb')
-rw-r--r--gcc/ada/put_scos.adb36
1 files changed, 18 insertions, 18 deletions
diff --git a/gcc/ada/put_scos.adb b/gcc/ada/put_scos.adb
index 6597f264006..d7667b85f32 100644
--- a/gcc/ada/put_scos.adb
+++ b/gcc/ada/put_scos.adb
@@ -29,7 +29,7 @@ procedure Put_SCOs is
begin
-- Loop through entries in SCO_Unit_Table
- for U in SCO_Unit_Table.First .. SCO_Unit_Table.Last loop
+ for U in 1 .. SCO_Unit_Table.Last loop
declare
SUT : SCO_Unit_Table_Entry renames SCO_Unit_Table.Table (U);
@@ -50,16 +50,23 @@ begin
-- Loop through SCO entries for this unit
- Start := SCO_Table.First;
- Stop := SCO_Table.Last;
+ Start := SUT.From;
+ Stop := SUT.To;
loop
- declare
+ exit when Start = Stop + 1;
+ pragma Assert (Start <= Stop);
+
+ Output_SCO_Line : declare
T : SCO_Table_Entry renames SCO_Table.Table (Start);
- procedure Output_Range;
+ procedure Output_Range (T : SCO_Table_Entry);
-- Outputs T.From and T.To in line:col-line:col format
- procedure Output_Range is
+ ------------------
+ -- Output_Range --
+ ------------------
+
+ procedure Output_Range (T : SCO_Table_Entry) is
begin
Write_Info_Nat (Nat (T.From.Line));
Write_Info_Char (':');
@@ -70,6 +77,8 @@ begin
Write_Info_Nat (Nat (T.To.Col));
end Output_Range;
+ -- Start of processing for Output_SCO_Line
+
begin
Write_Info_Initiate ('C');
Write_Info_Char (T.C1);
@@ -80,7 +89,7 @@ begin
when 'S' | 'T' =>
Write_Info_Char (' ');
- Output_Range;
+ Output_Range (T);
-- Decision
@@ -107,7 +116,7 @@ begin
else
Write_Info_Char (T.C2);
- Output_Range;
+ Output_Range (T);
end if;
exit when T.Last;
@@ -120,19 +129,10 @@ begin
end case;
Write_Info_Terminate;
- end;
+ end Output_SCO_Line;
- exit when Start = Stop;
Start := Start + 1;
-
- pragma Assert (Start <= Stop);
end loop;
end;
-
- -- If not last entry, blank line
-
- if U /= SCO_Unit_Table.Last then
- Write_Info_Terminate;
- end if;
end loop;
end Put_SCOs;