Commit 79b49b87 by Hristian Kirtchev Committed by Arnaud Charlet

sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local variable Spec.

2014-02-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local
	variable Spec. Do not inherit the null indicator from the
	subprogram body when generating the spec.

From-SVN: r207548
parent 4446a13f
2014-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch3.adb (Handle_Late_Controlled_Primitive): Add local
variable Spec. Do not inherit the null indicator from the
subprogram body when generating the spec.
2014-02-06 Robert Dewar <dewar@adacore.com> 2014-02-06 Robert Dewar <dewar@adacore.com>
* casing.adb (Determine_Casing): Consider SPARK_Mode to be * casing.adb (Determine_Casing): Consider SPARK_Mode to be
......
...@@ -2110,6 +2110,7 @@ package body Sem_Ch3 is ...@@ -2110,6 +2110,7 @@ package body Sem_Ch3 is
Loc : constant Source_Ptr := Sloc (Body_Id); Loc : constant Source_Ptr := Sloc (Body_Id);
Params : constant List_Id := Params : constant List_Id :=
Parameter_Specifications (Body_Spec); Parameter_Specifications (Body_Spec);
Spec : Node_Id;
Spec_Id : Entity_Id; Spec_Id : Entity_Id;
Dummy : Entity_Id; Dummy : Entity_Id;
...@@ -2156,9 +2157,17 @@ package body Sem_Ch3 is ...@@ -2156,9 +2157,17 @@ package body Sem_Ch3 is
-- use of Copy_Separate_Tree - we want an entirely separate semantic -- use of Copy_Separate_Tree - we want an entirely separate semantic
-- tree in this case. -- tree in this case.
Spec := Copy_Separate_Tree (Body_Spec);
-- Ensure that the subprogram declaration does not inherit the null
-- indicator from the body as we now have a proper spec and body
-- pair.
Set_Null_Present (Spec, False);
Insert_Before_And_Analyze (Body_Decl, Insert_Before_And_Analyze (Body_Decl,
Make_Subprogram_Declaration (Loc, Make_Subprogram_Declaration (Loc,
Specification => Copy_Separate_Tree (Body_Spec))); Specification => Spec));
end Handle_Late_Controlled_Primitive; end Handle_Late_Controlled_Primitive;
-------------------------------- --------------------------------
......
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