Commit d39d6bb8 by Robert Dewar Committed by Arnaud Charlet

sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization for case…

sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization for case where spec is categorized.

2005-12-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
	for case where spec is categorized.

From-SVN: r108303
parent 0e0eecec
...@@ -955,7 +955,7 @@ package body Sem_Ch6 is ...@@ -955,7 +955,7 @@ package body Sem_Ch6 is
end if; end if;
else else
-- Create a subprogram declaration, to make treatment uniform. -- Create a subprogram declaration, to make treatment uniform
declare declare
Subp : constant Entity_Id := Subp : constant Entity_Id :=
...@@ -1449,14 +1449,13 @@ package body Sem_Ch6 is ...@@ -1449,14 +1449,13 @@ package body Sem_Ch6 is
if Present (Spec_Id) then if Present (Spec_Id) then
-- If a parent unit is categorized, the context of a subunit must -- We must conform to the categorization of our spec
-- conform to the categorization. Conversely, if a child unit is
-- categorized, the parents themselves must conform.
if Nkind (Parent (N)) = N_Subunit then
Validate_Categorization_Dependency (N, Spec_Id); Validate_Categorization_Dependency (N, Spec_Id);
elsif Is_Child_Unit (Spec_Id) then -- And if this is a child unit, the parent units must conform
if Is_Child_Unit (Spec_Id) then
Validate_Categorization_Dependency Validate_Categorization_Dependency
(Unit_Declaration_Node (Spec_Id), Spec_Id); (Unit_Declaration_Node (Spec_Id), Spec_Id);
end if; end if;
......
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