diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-02-06 11:49:34 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-02-06 11:49:34 +0100 |
commit | f403355afb84e58c73c83329b18bac3bc24f336c (patch) | |
tree | e869984ad6c16eaaeb7517b98fd87ac9eaa153ea /gcc/ada | |
parent | a75ea2953b2cc328db203807fd769f17bcd4c476 (diff) | |
download | gcc-f403355afb84e58c73c83329b18bac3bc24f336c.zip gcc-f403355afb84e58c73c83329b18bac3bc24f336c.tar.gz gcc-f403355afb84e58c73c83329b18bac3bc24f336c.tar.bz2 |
[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
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/ada/gnat_rm.texi | 37 | ||||
-rw-r--r-- | gcc/ada/s-tasloc.ads | 4 | ||||
-rw-r--r-- | gcc/ada/sem_prag.adb | 6 |
4 files changed, 47 insertions, 8 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index af53653..6cb9d04 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -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. diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi index 1c250d0..27f94c1 100644 --- a/gcc/ada/gnat_rm.texi +++ b/gcc/ada/gnat_rm.texi @@ -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 diff --git a/gcc/ada/s-tasloc.ads b/gcc/ada/s-tasloc.ads index 9db7564..5e370bb 100644 --- a/gcc/ada/s-tasloc.ads +++ b/gcc/ada/s-tasloc.ads @@ -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); diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 2a67b85..d842f1b 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -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; |