This patch fixes a bug in which if mixed-case file names are used, and a file name contains any of the capital letters 'U', 'W', 'Q', or 'O', then in rare cases the compiler can crash. No small test is available.
Tested on x86_64-pc-linux-gnu, committed on trunk 2017-09-08 Bob Duff <d...@adacore.com> * exp_intr.adb (Add_Source_Info): Do not decode file names; they were not encoded in the first place.
Index: exp_intr.adb =================================================================== --- exp_intr.adb (revision 251883) +++ exp_intr.adb (working copy) @@ -125,7 +125,7 @@ Append (Buf, Nat (Get_Logical_Line_Number (Loc))); when Name_File => - Append_Decoded (Buf, Reference_Name (Get_Source_File_Index (Loc))); + Append (Buf, Reference_Name (Get_Source_File_Index (Loc))); when Name_Source_Location => Build_Location_String (Buf, Loc);