Ada Programming/Pragmas
Description Edit
Pragmas control the compiler, i.e. they are compiler directives. They have the standard form of
pragma
Name (Parameter_List);
where the parameter list is optional.
List of language defined pragmas Edit
Some pragmas are specially marked:
- Ada 2005
- This is a new Ada 2005 pragma.
- Ada 2012
- This is a new Ada 2012 pragma.
- Obsolescent
- This is a deprecated pragma and it should not be used in new code.
A – H Edit
- All_Calls_Remote
- Assert (Ada 2005)
- Assertion_Policy (Ada 2005)
- Asynchronous (Obsolescent since Ada 2012)
- Atomic (Obsolescent since Ada 2012)
- Atomic_Components (Obsolescent since Ada 2012)
- Attach_Handler (Obsolescent since Ada 2012)
- Controlled (Removed from Ada 2012)
- Convention (Obsolescent since Ada 2012)
- CPU (Ada 2012)
- Default_Storage_Pool (Ada 2012)
- Detect_Blocking (Ada 2005)
- Discard_Names
- Dispatching_Domain (Ada 2012)
- Elaborate
- Elaborate_All
- Elaborate_Body
- Export (Obsolescent since Ada 2012)
I – O Edit
- Import (Obsolescent since Ada 2012)
- Independent (Ada 2012)
- Independent_Component (Ada 2012)
- Inline (Obsolescent since Ada 2012)
- Inspection_Point
- Interface (Obsolescent)
- Interrupt_Handler (Obsolescent since Ada 2012)
- Interrupt_Priority (Obsolescent since Ada 2012)
- Linker_Options
- List
- Locking_Policy
- Memory_Size (Obsolescent)
- No_Return (Ada 2005) (Obsolescent since Ada 2012)
- Normalize_Scalars
- Optimize
P – R Edit
- Pack (Obsolescent since Ada 2012)
- Page
- Partition_Elaboration_Policy (Ada 2005)
- Preelaborable_Initialization (Ada 2005)
- Preelaborate
- Priority (Obsolescent since Ada 2012)
- Priority_Specific_Dispatching (Ada 2005)
- Profile (Ada 2005)
- Pure
- Queueing_Policy
- Relative_Deadline (Ada 2005)
- Remote_Call_Interface
- Remote_Types
- Restrictions
- Reviewable
S – Z Edit
- Shared (Obsolescent)
- Shared_Passive
- Storage_Size
- Storage_Unit (Obsolescent)
- Suppress
- System_Name (Obsolescent)
- Task_Dispatching_Policy
- Unchecked_Union (Ada 2005)
- Unsuppress (Ada 2005)
- Volatile
- Volatile_Components
List of implementation defined pragmas Edit
The following pragmas are not available in all Ada compilers, only in those that had implemented them.
Currently, there are only listed the implementation-defined pragmas of a few compilers. You can help Wikibooks adding specific aspects of other compilers:
- GNAT
- Implementation defined pragma of the GNAT compiler from AdaCore and FSF.
- HP Ada
- Implementation defined pragma of the HP Ada compiler (formerly known as "DEC Ada").
- ICC
- Implementation-defined pragma[1] of the Irvine ICC compiler.
- PowerAda
- Implementation defined pragma of OC Systems' PowerAda.
- SPARCompiler
- Implementation defined pragma of Sun's SPARCompiler Ada.[2]
A – C Edit
- Abort_Defer (GNAT)
- Ada_83 (GNAT)
- Ada_95 (GNAT)
- Ada_05 (GNAT)
- Ada_2005 (GNAT)
- Ada_12 (GNAT)
- Ada_2012 (GNAT)
- Annotate (GNAT)
- Assume_No_Invalid_Values (GNAT)
- Ast_Entry (GNAT, HP Ada)
- Bit_Pack (SPARCompiler)
- Built_In (SPARCompiler)
- Byte_Pack (SPARCompiler)
- C_Pass_By_Copy (GNAT)
- Call_Mechanism (ICC)
- Canonical_Streams (GNAT)
- Check (GNAT)
- Check_Name (GNAT)
- Check_Policy (GNAT)
- CM_Info (PowerAda)
- Comment (GNAT)
- Common_Object (GNAT, HP Ada)
- Compatible_Calls (ICC)
- Compile_Time_Error (GNAT)
- Compile_Time_Warning (GNAT)
- Complete_Representation (GNAT)
- Complex_Representation (GNAT)
- Component_Alignment (GNAT, HP Ada)
- Compress (ICC)
- Constrain_Private (ICC)
- Convention_Identifier (GNAT)
- CPP_Class (GNAT)
- CPP_Constructor (GNAT)
- CPP_Virtual (GNAT)
- CPP_Vtable (GNAT)
D – H Edit
- Data_Mechanism (ICC)
- Debug (GNAT)
- Debug_Policy (GNAT)
- Delete_Subprogram_Entry (ICC)
- Elaboration_Checks (GNAT)
- Eliminate (GNAT)
- Error (SPARCompiler)
- Export_Exception (GNAT, HP Ada)
- Export_Function (GNAT, HP Ada, SPARCompiler)
- Export_Mechanism (ICC)
- Export_Object (GNAT, HP Ada, SPARCompiler)
- Export_Procedure (GNAT, HP Ada, SPARCompiler)
- Export_Value (GNAT)
- Export_Valued_Procedure (GNAT, HP Ada)
- Extend_System (GNAT)
- Extensions_Allowed (GNAT)
- External (GNAT, SPARCompiler)
- External_Name (ICC, SPARCompiler)
- External_Name_Casing (GNAT)
- Fast_Math (GNAT)
- Favor_Top_Level (GNAT)
- Finalize_Storage_Only (GNAT)
- Float_Representation (GNAT, HP Ada)
- Foreign (ICC)
- Generic_Mechanism (ICC)
- Generic_Policy (SPARCompiler)
I – L Edit
- i960_Intrinsic (ICC)
- Ident (GNAT, HP Ada)
- Images (PowerAda)
- Implemented, previously named 'Implemented_By_Entry' (GNAT)
- Implicit_Code (SPARCompiler)
- Implicit_Packing (GNAT)
- Import_Exception (GNAT, HP Ada)
- Import_Function (GNAT, HP Ada, SPARCompiler)
- Import_Mechanism (ICC)
- Import_Object (GNAT, HP Ada, SPARCompiler)
- Import_Procedure (GNAT, HP Ada, SPARCompiler)
- Import_Valued_Procedure (GNAT, HP Ada)
- Include (SPARCompiler)
- Initialize (SPARCompiler)
- Initialize_Scalars (GNAT)
- Inline_Always (GNAT)
- Inline_Generic (GNAT, HP Ada)
- Inline_Only (SPARCompiler)
- Instance_Policy (SPARCompiler)
- Interface_Constant (ICC)
- Interface_Information (PowerAda)
- Interface_Mechanism (ICC)
- Interface_Name (GNAT, HP Ada, ICC, SPARCompiler)
- Interrupt_State (GNAT)
- Invariant (GNAT)
- Keep_Names (GNAT)
- Label (ICC)
- License (GNAT)
- Link_With (GNAT, ICC, SPARCompiler)
- Linker_Alias (GNAT)
- Linker_Constructor (GNAT)
- Linker_Destructor (GNAT)
- Linker_Section (GNAT)
- Long_Float (GNAT: OpenVMS, HP Ada)
M – P Edit
- Machine_Attribute (GNAT)
- Main (GNAT)
- Main_Storage (GNAT, HP Ada)
- No_Body (GNAT)
- No_Image (SPARCompiler)
- No_Strict_Aliasing (GNAT)
- No_Suppress (PowerAda)
- No_Reorder (ICC)
- No_Zero (ICC)
- Noinline (ICC)
- Non_Reentrant (SPARCompiler)
- Not_Elaborated (SPARCompiler)
- Not_Null (ICC)
- Obsolescent (GNAT)
- Optimize_Alignment (GNAT)
- Optimize_Code (SPARCompiler)
- Optimize_Options (ICC)
- Ordered (GNAT)
- Parameter_Mechanism (ICC)
- Passive (GNAT, HP Ada, SPARCompiler)
- Persistent_BSS (GNAT)
- Physical_Address (ICC)
- Polling (GNAT)
- Postcondition (GNAT)
- Precondition (GNAT)
- Preserve_Layout (PowerAda)
- Profile_Warnings (GNAT)
- Propagate_Exceptions (GNAT)
- Protect_Registers (ICC)
- Protected_Call (ICC)
- Protected_Return (ICC)
- Psect_Object (GNAT, HP Ada)
- Pure_Function (GNAT)
- Put (ICC)
- Put_Line (ICC)
R – S Edit
- Reserve_Registers (ICC)
- Restriction_Warnings (GNAT)
- RTS_Interface (SPARCompiler)
- SCCS_ID (PowerAda)
- Share_Body (SPARCompiler)
- Share_Code (SPARCompiler)
- Share_Generic (GNAT, HP Ada)
- Shareable (ICC)
- Short_Circuit_And_Or (GNAT)
- Short_Descriptors (GNAT)
- Simple_Storage_Pool_Type (GNAT)
- Simple_Task (ICC)
- Source_File_Name (GNAT)
- Source_File_Name_Project (GNAT)
- Source_Reference (GNAT)
- Stack_Size (ICC)
- Static_Elaboration (ICC)
- Static_Elaboration_Desired (GNAT)
- Stream_Convert (GNAT)
- Style_Checks (GNAT)
- Subtitle (GNAT)
- Suppress_All (GNAT, HP Ada, PowerAda, SPARCompiler)
- Suppress_Elaboration_Checks (SPARCompiler)
- Suppress_Exception_Locations (GNAT)
- Suppress_Initialization (GNAT)
- System_Table (ICC)
T – Z Edit
- Task_Attributes (SPARCompiler)
- Task_Info (GNAT)
- Task_Name (GNAT)
- Task_Storage (GNAT, HP Ada)
- Test_Case (GNAT)
- Thread_Body (GNAT)
- Thread_Local_Storage (GNAT)
- Time_Slice (GNAT, HP Ada, ICC)
- Time_Slice_Attributes (ICC)
- Title (GNAT, HP Ada)
- Unimplemented_Unit (GNAT)
- Universal_Aliasing (GNAT)
- Universal_Data (GNAT)
- Unmodified (GNAT)
- Unreferenced (GNAT)
- Unreferenced_Objects (GNAT)
- Unreserve_All_Interrupts (GNAT)
- Unsigned_Literal (ICC)
- Use_VADS_Size (GNAT)
- Validity_Checks (GNAT)
- Warning (SPARCompiler)
- Warnings (GNAT, SPARCompiler)
- Weak_External (GNAT)
- Wide_Character_Encoding (GNAT)