[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Feb 2013 10:49:34 +0000 (11:49 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Feb 2013 10:49:34 +0000 (11:49 +0100)
2013-02-06  Arnaud Charlet  <charlet@adacore.com>

* gnat_rm.texi: Fix typos.

2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>

* sem_prag.adb: Minor reformatting.

2013-02-06  Pascal Obry  <obry@adacore.com>

* s-tasloc.ads: Set System.Task_Lock to preelaborate.

From-SVN: r195800

gcc/ada/ChangeLog
gcc/ada/gnat_rm.texi
gcc/ada/s-tasloc.ads
gcc/ada/sem_prag.adb

index af53653..6cb9d04 100644 (file)
@@ -1,5 +1,13 @@
 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
 
+       * sem_prag.adb: Minor reformatting.
+
+2013-02-06  Pascal Obry  <obry@adacore.com>
+
+       * s-tasloc.ads: Set System.Task_Lock to preelaborate.
+
+2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
+
        * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,
        Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related
        names.
index 1c250d0..27f94c1 100644 (file)
@@ -151,6 +151,7 @@ Implementation Defined Pragmas
 * Pragma Finalize_Storage_Only::
 * Pragma Float_Representation::
 * Pragma Ident::
+* Pragma Implementation_Defined::
 * Pragma Implemented::
 * Pragma Implicit_Packing::
 * Pragma Import_Exception::
@@ -198,6 +199,7 @@ Implementation Defined Pragmas
 * Pragma Priority_Specific_Dispatching::
 * Pragma Profile (Ravenscar)::
 * Pragma Profile (Restricted)::
+* Pragma Profile (Rational)::
 * Pragma Psect_Object::
 * Pragma Pure_Function::
 * Pragma Relative_Deadline::
@@ -901,6 +903,7 @@ consideration, the use of these pragmas should be minimized.
 * Pragma Finalize_Storage_Only::
 * Pragma Float_Representation::
 * Pragma Ident::
+* Pragma Implementation_Defined::
 * Pragma Implemented::
 * Pragma Implicit_Packing::
 * Pragma Import_Exception::
@@ -948,6 +951,7 @@ consideration, the use of these pragmas should be minimized.
 * Pragma Priority_Specific_Dispatching::
 * Pragma Profile (Ravenscar)::
 * Pragma Profile (Restricted)::
+* Pragma Profile (Rational)::
 * Pragma Psect_Object::
 * Pragma Pure_Function::
 * Pragma Relative_Deadline::
@@ -2879,6 +2883,34 @@ maximum allowed length is 31 characters, so if it is important to
 maintain compatibility with this compiler, you should obey this length
 limit.
 
+@node Pragma Implementation_Defined
+@unnumberedsec Pragma Implementation_Defined
+@findex Implementation_Defined
+@noindent
+Syntax:
+
+@smallexample @c ada
+pragma Implementation_Defined (local_NAME);
+@end smallexample
+
+@noindent
+This pragma marks a previously declared entioty as implementation-defined.
+For an overloaded entity, applies to the most recent homonym.
+
+@smallexample @c ada
+pragma Implementation_Defined;
+@end smallexample
+
+@noindent
+The form with no arguments appears anywhere within a scope, most
+typically a package spec, and indicates that all entities that are
+defined within the package spec are Implementation_Defined.
+
+This pragma is used within the GNAT runtime library to identify
+implementation-defined entities introduced in language-defined units,
+for the purpose of implementing the No_Implementation_Identifiers
+restriction.
+
 @node Pragma Implemented
 @unnumberedsec Pragma Implemented
 @findex Implemented
@@ -4932,7 +4964,6 @@ The Rational profile is intended to facilitate porting legacy code that
 compiles with the Rational APEX compiler, even when the code includes non-
 conforming Ada constructs.  The profile enables the following three pragmas:
 
-
 @itemize @bullet
 pragma Implicit_Packing;
 pragma Overriding_Renamings;
@@ -8298,8 +8329,8 @@ Manual.
 @unnumberedsubsec No_Implementation_Identifiers
 @findex No_Implementation_Identifiers
 [RM 13.12.1] This restriction checks at compile time that no
-implementation-defined identifiers occur within language-defined
-packages.
+implementation-defined identifiers (marked with pragma Implementation_Defined)
+occur within language-defined packages.
 
 @node No_Implementation_Pragmas
 @unnumberedsubsec No_Implementation_Pragmas
index 9db7564..5e370bb 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---                     Copyright (C) 1998-2010, AdaCore                     --
+--                     Copyright (C) 1998-2013, AdaCore                     --
 --                                                                          --
 -- 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- --
@@ -44,7 +44,7 @@
 --  a renaming of this package in GNAT.Task_Lock (file g-tasloc.ads).
 
 package System.Task_Lock is
-   pragma Elaborate_Body;
+   pragma Preelaborate;
 
    procedure Lock;
    pragma Inline (Lock);
index 2a67b85..d842f1b 100644 (file)
@@ -12379,7 +12379,7 @@ package body Sem_Prag is
          --  OPTIMIZATION_HINT ::= No_Unroll | Unroll | No_Vector | Vector
 
          when Pragma_Loop_Optimize => Loop_Optimize : declare
-            Hint      : Node_Id;
+            Hint : Node_Id;
 
          begin
             GNAT_Pragma;
@@ -12387,8 +12387,8 @@ package body Sem_Prag is
             Check_No_Identifiers;
             Hint := First (Pragma_Argument_Associations (N));
             while Present (Hint) loop
-               Check_Arg_Is_One_Of (Hint, Name_No_Unroll, Name_Unroll,
-                                    Name_No_Vector, Name_Vector);
+               Check_Arg_Is_One_Of (Hint,
+                 Name_No_Unroll, Name_Unroll, Name_No_Vector, Name_Vector);
                Next (Hint);
             end loop;
             Check_Loop_Pragma_Placement;