[multiple changes]

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
This commit is contained in:
Arnaud Charlet 2013-02-06 11:49:34 +01:00
parent a75ea2953b
commit f403355afb
4 changed files with 47 additions and 8 deletions

View File

@ -1,3 +1,11 @@
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,

View 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

View 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);

View 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;