Commit dce1ef7a by Bob Duff Committed by Pierre-Marie de Rodat

[Ada] Better error message for "is null" subunit

2019-12-16  Bob Duff  <duff@adacore.com>

gcc/ada/

	* sem_ch10.adb (Analyze_Subunit): Give an error if the subunit
	is not a proper body. This hides the confusing "duplicate body"
	message that was previously given.

From-SVN: r279424
parent 9c9535f9
2019-12-16 Bob Duff <duff@adacore.com>
* sem_ch10.adb (Analyze_Subunit): Give an error if the subunit
is not a proper body. This hides the confusing "duplicate body"
message that was previously given.
2019-12-16 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Document
......
......@@ -2433,6 +2433,20 @@ package body Sem_Ch10 is
Install_Elaboration_Model (Par_Unit);
-- The syntax rules require a proper body for a subprogram subunit
if Nkind (Proper_Body (Sinfo.Unit (N))) = N_Subprogram_Declaration then
if Null_Present (Specification (Proper_Body (Sinfo.Unit (N)))) then
Error_Msg_N
("null procedure not allowed as subunit",
Proper_Body (Unit (N)));
else
Error_Msg_N
("subprogram declaration not allowed as subunit",
Defining_Unit_Name (Specification (Proper_Body (Unit (N)))));
end if;
end if;
Analyze (Proper_Body (Unit (N)));
Remove_Context (N);
......
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