From: Arnaud Charlet Date: Mon, 3 Jan 2005 15:40:30 +0000 (+0100) Subject: par.adb: Enhance error message handling for configuration file pragmas. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=01af9aff566add69b4bd9a5fd0eb2489ba6b19dd;p=platform%2Fupstream%2Fgcc.git par.adb: Enhance error message handling for configuration file pragmas. * par.adb: Enhance error message handling for configuration file pragmas. From-SVN: r92846 --- diff --git a/gcc/ada/par.adb b/gcc/ada/par.adb index 8977706..6c8ec70 100644 --- a/gcc/ada/par.adb +++ b/gcc/ada/par.adb @@ -1208,7 +1208,6 @@ begin if Configuration_Pragmas then declare - Ecount : constant Int := Serious_Errors_Detected; Pragmas : constant List_Id := Empty_List; P_Node : Node_Id; @@ -1224,20 +1223,29 @@ begin else P_Node := P_Pragma; - if Serious_Errors_Detected > Ecount then - return Error_List; - end if; + if Nkind (P_Node) = N_Pragma then + + -- Give error if bad pragma + + if Chars (P_Node) > Last_Configuration_Pragma_Name + and then Chars (P_Node) /= Name_Source_Reference + then + if Is_Pragma_Name (Chars (P_Node)) then + Error_Msg_N + ("only configuration pragmas allowed " & + "in configuration file", P_Node); + else + Error_Msg_N + ("unrecognized pragma in configuration file", + P_Node); + end if; - if Chars (P_Node) > Last_Configuration_Pragma_Name - and then Chars (P_Node) /= Name_Source_Reference - then - Error_Msg_SC - ("only configuration pragmas allowed " & - "in configuration file"); - return Error_List; - end if; + -- Pragma is OK config pragma, so collect it - Append (P_Node, Pragmas); + else + Append (P_Node, Pragmas); + end if; + end if; end if; end loop; end;