Commit 01af9aff by Arnaud Charlet

par.adb: Enhance error message handling for configuration file pragmas.

	* par.adb: Enhance error message handling for configuration file
	pragmas.

From-SVN: r92846
parent 0fe6afd3
...@@ -1208,7 +1208,6 @@ begin ...@@ -1208,7 +1208,6 @@ begin
if Configuration_Pragmas then if Configuration_Pragmas then
declare declare
Ecount : constant Int := Serious_Errors_Detected;
Pragmas : constant List_Id := Empty_List; Pragmas : constant List_Id := Empty_List;
P_Node : Node_Id; P_Node : Node_Id;
...@@ -1224,20 +1223,29 @@ begin ...@@ -1224,20 +1223,29 @@ begin
else else
P_Node := P_Pragma; P_Node := P_Pragma;
if Serious_Errors_Detected > Ecount then if Nkind (P_Node) = N_Pragma then
return Error_List;
end if; -- 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 -- Pragma is OK config pragma, so collect it
and then Chars (P_Node) /= Name_Source_Reference
then
Error_Msg_SC
("only configuration pragmas allowed " &
"in configuration file");
return Error_List;
end if;
Append (P_Node, Pragmas); else
Append (P_Node, Pragmas);
end if;
end if;
end if; end if;
end loop; end loop;
end; end;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment