-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
Subunit : Boolean;
Corr_Body : Unit_Number_Type := No_Unit;
Renamings : Boolean := False;
- With_Node : Node_Id := Empty) return Unit_Number_Type;
+ With_Node : Node_Id := Empty;
+ PMES : Boolean := False) return Unit_Number_Type;
-- This function loads and parses the unit specified by Load_Name (or
-- returns the unit number for the previously constructed units table
-- entry if this is not the first call for this unit). Required indicates
-- With_Node is set to the with_clause or limited_with_clause causing
-- the unit to be loaded, and is used to bypass the circular dependency
-- check in the case of a limited_with_clause (Ada 2005, AI-50217).
+ --
+ -- PMES indicates the required setting of Parsing_Main_Extended_Unit during
+ -- loading of the unit. This flag is saved and restored over the call.
procedure Change_Main_Unit_To_Spec;
-- This procedure is called if the main unit file contains a No_Body pragma
-- creates a dummy package unit so that compilation can continue without
-- blowing up when the missing unit is referenced.
+ procedure Make_Child_Decl_Unit (N : Node_Id);
+ -- For a child subprogram body without a spec, we create a subprogram
+ -- declaration in order to attach the required parent link. We create
+ -- a Units_Table entry for this declaration, in order to maintain a
+ -- one-to-one correspondence between compilation units and table entries.
+
procedure Make_Instance_Unit (N : Node_Id; In_Main : Boolean);
-- When a compilation unit is an instantiation, it contains both the
-- declaration and the body of the instance, each of which can have its