From 9ff231e23ce6bb18ab8463997acf60abe5b3672a Mon Sep 17 00:00:00 2001 From: Samuel Tardieu Date: Mon, 14 Apr 2008 09:38:34 +0000 Subject: [PATCH] re PR ada/35050 (renames entities not in symbol table) gcc/ada/ PR ada/35050 * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the renaming information. From-SVN: r134256 --- gcc/ada/ChangeLog | 6 ++++++ gcc/ada/xref_lib.adb | 29 ++++++++++++++++------------- 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 + + PR ada/35050 + * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the + renaming information. + 2008-04-13 Samuel Tardieu 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