Commit c3b74b8a by Arnaud Charlet

sem.adb (Walk_Library_Items): Include bodies in the list of units to traverse...

	* sem.adb (Walk_Library_Items): Include bodies in the list of units to
	traverse, to account for front-end inlining and instantiations in a
	spec or in the main unit.

From-SVN: r148695
parent f26d5cd3
...@@ -1514,9 +1514,9 @@ package body Sem is ...@@ -1514,9 +1514,9 @@ package body Sem is
-- Calls Action, with some validity checks -- Calls Action, with some validity checks
procedure Do_Unit_And_Dependents (CU : Node_Id; Item : Node_Id); procedure Do_Unit_And_Dependents (CU : Node_Id; Item : Node_Id);
-- Calls Do_Action, first on the units with'ed by this one, then on this -- Calls Do_Action, first on the units with'ed by this one, then on
-- unit. If it's an instance body, do the spec first. If it's an -- this unit. If it's an instance body, do the spec first. If it is
-- instance spec, do the body last. -- an instance spec, do the body last.
--------------- ---------------
-- Do_Action -- -- Do_Action --
...@@ -1530,21 +1530,25 @@ package body Sem is ...@@ -1530,21 +1530,25 @@ package body Sem is
pragma Assert (No (CU) or else Nkind (CU) = N_Compilation_Unit); pragma Assert (No (CU) or else Nkind (CU) = N_Compilation_Unit);
case Nkind (Item) is case Nkind (Item) is
when N_Generic_Subprogram_Declaration | when N_Generic_Subprogram_Declaration |
N_Generic_Package_Declaration | N_Generic_Package_Declaration |
N_Package_Declaration | N_Package_Declaration |
N_Subprogram_Declaration | N_Subprogram_Declaration |
N_Subprogram_Renaming_Declaration | N_Subprogram_Renaming_Declaration |
N_Package_Renaming_Declaration | N_Package_Renaming_Declaration |
N_Generic_Function_Renaming_Declaration | N_Generic_Function_Renaming_Declaration |
N_Generic_Package_Renaming_Declaration | N_Generic_Package_Renaming_Declaration |
N_Generic_Procedure_Renaming_Declaration => N_Generic_Procedure_Renaming_Declaration =>
null; -- Specs are OK
-- Specs are OK
null;
when N_Package_Body =>
-- Package bodies are processed immediately after the -- Package bodies are processed immediately after the
-- corresponding spec. -- corresponding spec.
when N_Package_Body =>
null; null;
when N_Subprogram_Body => when N_Subprogram_Body =>
...@@ -1557,9 +1561,9 @@ package body Sem is ...@@ -1557,9 +1561,9 @@ package body Sem is
-- All other cases cannot happen -- All other cases cannot happen
when N_Function_Instantiation | when N_Function_Instantiation |
N_Procedure_Instantiation | N_Procedure_Instantiation |
N_Package_Instantiation => N_Package_Instantiation =>
pragma Assert (False, "instantiation"); pragma Assert (False, "instantiation");
null; null;
......
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