-- may be found in the appropriate section in unit Sem_Prag in file
-- sem-prag.adb, and they are documented in the GNAT reference manual.
- -- The entries marked Ada05 are Ada 2005 pragmas. They are implemented in
- -- Ada 83 and Ada 95 mode as well, where they are technically considered to
- -- be implementation dependent pragmas.
+ -- The entries marked Ada 05 are Ada 2005 pragmas. They are implemented
+ -- in Ada 83 and Ada 95 mode as well, where they are technically considered
+ -- to be implementation dependent pragmas.
+
+ -- The entries marked Ada 12 are Ada 2012 pragmas. They are implemented
+ -- in Ada 83, Ada 95, and Ada 2005 mode as well, where they are technically
+ -- considered to be implementation dependent pragmas.
-- The entries marked VMS are VMS specific pragmas that are recognized
-- only in OpenVMS versions of GNAT. They are ignored in other versions
Name_Restriction_Warnings : constant Name_Id := N + $; -- GNAT
Name_Reviewable : constant Name_Id := N + $;
Name_Short_Circuit_And_Or : constant Name_Id := N + $; -- GNAT
+ Name_Short_Descriptors : constant Name_Id := N + $; -- GNAT
Name_Source_File_Name : constant Name_Id := N + $; -- GNAT
Name_Source_File_Name_Project : constant Name_Id := N + $; -- GNAT
Name_Style_Checks : constant Name_Id := N + $; -- GNAT
Name_All_Calls_Remote : constant Name_Id := N + $;
Name_Annotate : constant Name_Id := N + $; -- GNAT
- -- Note: AST_Entry is not in this list because its name matches -- VMS
+ -- Note: AST_Entry is not in this list because its name matches -- VMS
-- the name of the corresponding attribute. However, it is
-- included in the definition of the type Pragma_Id, and the
-- functions Get_Pragma_Id and Is_Pragma_Id correctly recognize
Name_External : constant Name_Id := N + $; -- GNAT
Name_Finalize_Storage_Only : constant Name_Id := N + $; -- GNAT
Name_Ident : constant Name_Id := N + $; -- VMS
- Name_Implemented_By_Entry : constant Name_Id := N + $; -- Ada 05
+ Name_Implemented : constant Name_Id := N + $; -- Ada 12
Name_Import : constant Name_Id := N + $;
Name_Import_Exception : constant Name_Id := N + $; -- VMS
Name_Import_Function : constant Name_Id := N + $; -- GNAT
Name_Import_Object : constant Name_Id := N + $; -- GNAT
Name_Import_Procedure : constant Name_Id := N + $; -- GNAT
Name_Import_Valued_Procedure : constant Name_Id := N + $; -- GNAT
+ Name_Independent : constant Name_Id := N + $; -- Ada 12
+ Name_Independent_Components : constant Name_Id := N + $; -- Ada 12
Name_Inline : constant Name_Id := N + $;
Name_Inline_Always : constant Name_Id := N + $; -- GNAT
Name_Inline_Generic : constant Name_Id := N + $; -- GNAT
Name_Inspection_Point : constant Name_Id := N + $;
-- Note: Interface is not in this list because its name -- GNAT
- -- matches an Ada 2005 keyword. However it is included in
+ -- matches an Ada 05 keyword. However it is included in
-- the definition of the type Attribute_Id, and the functions
-- Get_Pragma_Id and Is_Pragma_Id correctly recognize and
-- process Name_Storage_Size.
Name_No_Return : constant Name_Id := N + $; -- Ada 05
Name_Obsolescent : constant Name_Id := N + $; -- GNAT
Name_Optimize : constant Name_Id := N + $;
+ Name_Ordered : constant Name_Id := N + $; -- GNAT
Name_Pack : constant Name_Id := N + $;
Name_Page : constant Name_Id := N + $;
Name_Passive : constant Name_Id := N + $; -- GNAT
Name_Attribute_Name : constant Name_Id := N + $;
Name_Body_File_Name : constant Name_Id := N + $;
Name_Boolean_Entry_Barriers : constant Name_Id := N + $;
+ Name_By_Any : constant Name_Id := N + $;
+ Name_By_Entry : constant Name_Id := N + $;
+ Name_By_Protected_Procedure : constant Name_Id := N + $;
Name_Casing : constant Name_Id := N + $;
Name_Code : constant Name_Id := N + $;
Name_Component : constant Name_Id := N + $;
Name_Executable : constant Name_Id := N + $;
Name_Executable_Suffix : constant Name_Id := N + $;
Name_Extends : constant Name_Id := N + $;
+ Name_External_As_List : constant Name_Id := N + $;
Name_Externally_Built : constant Name_Id := N + $;
Name_Finder : constant Name_Id := N + $;
Name_Global_Compilation_Switches : constant Name_Id := N + $;
Name_Prefix : constant Name_Id := N + $;
Name_Project : constant Name_Id := N + $;
Name_Project_Dir : constant Name_Id := N + $;
+ Name_Project_Files : constant Name_Id := N + $;
+ Name_Project_Path : constant Name_Id := N + $;
Name_Response_File_Format : constant Name_Id := N + $;
Name_Response_File_Switches : constant Name_Id := N + $;
Name_Roots : constant Name_Id := N + $; -- GPR
Name_Unaligned_Valid : constant Name_Id := N + $;
- -- Ada 2005 reserved words
+ -- Ada 05 reserved words
First_2005_Reserved_Word : constant Name_Id := N + $;
Name_Interface : constant Name_Id := N + $;
Pragma_Restriction_Warnings,
Pragma_Reviewable,
Pragma_Short_Circuit_And_Or,
+ Pragma_Short_Descriptors,
Pragma_Source_File_Name,
Pragma_Source_File_Name_Project,
Pragma_Style_Checks,
Pragma_External,
Pragma_Finalize_Storage_Only,
Pragma_Ident,
- Pragma_Implemented_By_Entry,
+ Pragma_Implemented,
Pragma_Import,
Pragma_Import_Exception,
Pragma_Import_Function,
Pragma_Import_Object,
Pragma_Import_Procedure,
Pragma_Import_Valued_Procedure,
+ Pragma_Independent,
+ Pragma_Independent_Components,
Pragma_Inline,
Pragma_Inline_Always,
Pragma_Inline_Generic,
Pragma_No_Return,
Pragma_Obsolescent,
Pragma_Optimize,
+ Pragma_Ordered,
Pragma_Pack,
Pragma_Page,
Pragma_Passive,