Ada Programming/Pragmas
Description
editPragmas 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
editSome 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- Admission_Policy (Ada 2022)
- 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)
- Conflict_Check_Policy (Ada 2022)
- 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)
- Generate_Deadlines (Ada 2022)
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
editThe 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)