summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/xref_lib.adb29
2 files changed, 22 insertions, 13 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 75314119fc6..6e5a4d35ae9 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/35050
+ * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
+ renaming information.
+
2008-04-13 Samuel Tardieu <sam@rfc1149.net>
PR ada/17985
diff --git a/gcc/ada/xref_lib.adb b/gcc/ada/xref_lib.adb
index af9abd7199c..b09cc70e773 100644
--- a/gcc/ada/xref_lib.adb
+++ b/gcc/ada/xref_lib.adb
@@ -896,6 +896,22 @@ package body Xref_Lib is
Skip_To_Matching_Closing_Bracket;
end if;
+ -- Skip any renaming indication
+
+ if Ali (Ptr) = '=' then
+ declare
+ P_Line, P_Column : Natural;
+ pragma Warnings (Off, P_Line);
+ pragma Warnings (Off, P_Column);
+
+ begin
+ Ptr := Ptr + 1;
+ Parse_Number (Ali, Ptr, P_Line);
+ Ptr := Ptr + 1;
+ Parse_Number (Ali, Ptr, P_Column);
+ end;
+ end if;
+
if Ali (Ptr) = '<'
or else Ali (Ptr) = '('
or else Ali (Ptr) = '{'
@@ -1036,19 +1052,6 @@ package body Xref_Lib is
end loop;
Ptr := Ptr + 1;
end if;
-
- elsif Ali (Ptr) = '=' then
- declare
- P_Line, P_Column : Natural;
- pragma Warnings (Off, P_Line);
- pragma Warnings (Off, P_Column);
-
- begin
- Ptr := Ptr + 1;
- Parse_Number (Ali, Ptr, P_Line);
- Ptr := Ptr + 1;
- Parse_Number (Ali, Ptr, P_Column);
- end;
end if;
-- To find the body, we will have to parse the file too
OpenPOWER on IntegriCloud