OSDN Git Service

2010-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ada / lib-load.ads
index fe1fd6e..d2856aa 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 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- --
@@ -109,7 +109,8 @@ package Lib.Load is
       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
@@ -151,6 +152,9 @@ package Lib.Load is
    --  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
@@ -169,6 +173,12 @@ package Lib.Load is
    --  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