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