[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> 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
* snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll, * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,

View File

@ -151,6 +151,7 @@ Implementation Defined Pragmas
* Pragma Finalize_Storage_Only:: * Pragma Finalize_Storage_Only::
* Pragma Float_Representation:: * Pragma Float_Representation::
* Pragma Ident:: * Pragma Ident::
* Pragma Implementation_Defined::
* Pragma Implemented:: * Pragma Implemented::
* Pragma Implicit_Packing:: * Pragma Implicit_Packing::
* Pragma Import_Exception:: * Pragma Import_Exception::
@ -198,6 +199,7 @@ Implementation Defined Pragmas
* Pragma Priority_Specific_Dispatching:: * Pragma Priority_Specific_Dispatching::
* Pragma Profile (Ravenscar):: * Pragma Profile (Ravenscar)::
* Pragma Profile (Restricted):: * Pragma Profile (Restricted)::
* Pragma Profile (Rational)::
* Pragma Psect_Object:: * Pragma Psect_Object::
* Pragma Pure_Function:: * Pragma Pure_Function::
* Pragma Relative_Deadline:: * Pragma Relative_Deadline::
@ -901,6 +903,7 @@ consideration, the use of these pragmas should be minimized.
* Pragma Finalize_Storage_Only:: * Pragma Finalize_Storage_Only::
* Pragma Float_Representation:: * Pragma Float_Representation::
* Pragma Ident:: * Pragma Ident::
* Pragma Implementation_Defined::
* Pragma Implemented:: * Pragma Implemented::
* Pragma Implicit_Packing:: * Pragma Implicit_Packing::
* Pragma Import_Exception:: * Pragma Import_Exception::
@ -948,6 +951,7 @@ consideration, the use of these pragmas should be minimized.
* Pragma Priority_Specific_Dispatching:: * Pragma Priority_Specific_Dispatching::
* Pragma Profile (Ravenscar):: * Pragma Profile (Ravenscar)::
* Pragma Profile (Restricted):: * Pragma Profile (Restricted)::
* Pragma Profile (Rational)::
* Pragma Psect_Object:: * Pragma Psect_Object::
* Pragma Pure_Function:: * Pragma Pure_Function::
* Pragma Relative_Deadline:: * 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 maintain compatibility with this compiler, you should obey this length
limit. 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 @node Pragma Implemented
@unnumberedsec Pragma Implemented @unnumberedsec Pragma Implemented
@findex 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- compiles with the Rational APEX compiler, even when the code includes non-
conforming Ada constructs. The profile enables the following three pragmas: conforming Ada constructs. The profile enables the following three pragmas:
@itemize @bullet @itemize @bullet
pragma Implicit_Packing; pragma Implicit_Packing;
pragma Overriding_Renamings; pragma Overriding_Renamings;
@ -8298,8 +8329,8 @@ Manual.
@unnumberedsubsec No_Implementation_Identifiers @unnumberedsubsec No_Implementation_Identifiers
@findex No_Implementation_Identifiers @findex No_Implementation_Identifiers
[RM 13.12.1] This restriction checks at compile time that no [RM 13.12.1] This restriction checks at compile time that no
implementation-defined identifiers occur within language-defined implementation-defined identifiers (marked with pragma Implementation_Defined)
packages. occur within language-defined packages.
@node No_Implementation_Pragmas @node No_Implementation_Pragmas
@unnumberedsubsec No_Implementation_Pragmas @unnumberedsubsec No_Implementation_Pragmas

View File

@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- 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 -- -- 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- -- -- 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). -- a renaming of this package in GNAT.Task_Lock (file g-tasloc.ads).
package System.Task_Lock is package System.Task_Lock is
pragma Elaborate_Body; pragma Preelaborate;
procedure Lock; procedure Lock;
pragma Inline (Lock); pragma Inline (Lock);

View File

@ -12379,7 +12379,7 @@ package body Sem_Prag is
-- OPTIMIZATION_HINT ::= No_Unroll | Unroll | No_Vector | Vector -- OPTIMIZATION_HINT ::= No_Unroll | Unroll | No_Vector | Vector
when Pragma_Loop_Optimize => Loop_Optimize : declare when Pragma_Loop_Optimize => Loop_Optimize : declare
Hint : Node_Id; Hint : Node_Id;
begin begin
GNAT_Pragma; GNAT_Pragma;
@ -12387,8 +12387,8 @@ package body Sem_Prag is
Check_No_Identifiers; Check_No_Identifiers;
Hint := First (Pragma_Argument_Associations (N)); Hint := First (Pragma_Argument_Associations (N));
while Present (Hint) loop while Present (Hint) loop
Check_Arg_Is_One_Of (Hint, Name_No_Unroll, Name_Unroll, Check_Arg_Is_One_Of (Hint,
Name_No_Vector, Name_Vector); Name_No_Unroll, Name_Unroll, Name_No_Vector, Name_Vector);
Next (Hint); Next (Hint);
end loop; end loop;
Check_Loop_Pragma_Placement; Check_Loop_Pragma_Placement;