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
This commit is contained in:
Robert Dewar 2005-12-09 18:21:28 +01:00 committed by Arnaud Charlet
parent 0e0eecec30
commit d39d6bb8a0
1 changed files with 6 additions and 7 deletions

View File

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