[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:
parent
a75ea2953b
commit
f403355afb
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue