OSDN Git Service

* c-decl.c (grokfield): Allow typedefs for anonymous structs and
[pf3gnuchains/gcc-fork.git] / gcc / ada / symbols.ads
index 73fa2c8..65954dc 100644 (file)
@@ -6,18 +6,17 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2003 Free Software Foundation, Inc.               --
+--          Copyright (C) 2003-2007, 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- --
--- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
 -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
 -- for  more details.  You should have  received  a copy of the GNU General --
--- Public License  distributed with GNAT;  see file COPYING.  If not, write --
--- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
--- MA 02111-1307, USA.                                                      --
+-- Public License  distributed with GNAT; see file COPYING3.  If not, go to --
+-- http://www.gnu.org/licenses for a complete copy of the license.          --
 --                                                                          --
 -- GNAT was originally developed  by the GNAT team at  New York University. --
 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
 --  several implementations of the body.
 
 with GNAT.Dynamic_Tables;
-with GNAT.OS_Lib;         use GNAT.OS_Lib;
+
+with System.OS_Lib; use System.OS_Lib;
 
 package Symbols is
 
    type Policy is
-   --  Symbol policy:
+   --  Symbol policy
 
      (Autonomous,
       --  Create a symbol file without considering any reference
@@ -44,9 +44,16 @@ package Symbols is
       --  all symbols are already found in the reference file or with an
       --  incremented minor ID, if not.
 
-       Controlled);
+      Controlled,
       --  Fail if symbols are not the same as those in the reference file
 
+      Restricted,
+      --  Restrict the symbols to those in the symbol file. Fail if some
+      --  symbols in the symbol file are not exported from the object files.
+
+      Direct);
+      --  The reference symbol file is copied to the symbol file
+
    type Symbol_Kind is (Data, Proc);
    --  To distinguish between the different kinds of symbols
 
@@ -82,11 +89,20 @@ package Symbols is
    --  Processing any object file. Depending on the platforms and the
    --  circumstances, additional messages may be issued if Quiet is False.
 
-   procedure Process
-     (Object_File : String;
-      Success     : out Boolean);
-   --  Get the symbols from an object file. Success is set to True if the
-   --  object file exists and has the expected format.
+   package Processing is
+
+   --  This package, containing a single visible procedure Process, exists so
+   --  that it can be a subunits, for some platforms (such as VMS Alpha and
+   --  IA64), the body of package Symbols is common, while the subunit
+   --  Processing is not.
+
+      procedure Process
+        (Object_File : String;
+         Success     : out Boolean);
+      --  Get the symbols from an object file. Success is set to True if the
+      --  object file exists and has the expected format.
+
+   end Processing;
 
    procedure Finalize
      (Quiet   : Boolean;