Next: , Previous: Annex K, Up: Top


Annex L Language-Defined Pragmas

1
{pragma} This Annex summarizes the definitions given elsewhere of the language−defined pragmas.

2
pragma All_Calls_Remote[(library_unit_name)]; −− See E.2.3.

2.1/2
pragma Assert([Check =>] boolean_expression[, [Message =>] string_expression]); −− See 11.4.2.

2.2/2
pragma Assertion_Policy(policy_identifier); −− See 11.4.2.

3
pragma Asynchronous(local_name); −− See E.4.1.

4
pragma Atomic(local_name); −− See C.6.

5
pragma Atomic_Components(array_local_name); −− See C.6.

6
pragma Attach_Handler(handler_name, expression); −− See C.3.1.

7
pragma Controlled(first_subtype_local_name); −− See 13.11.3.

8
pragma Convention([Convention =>] convention_identifier,[Entity =>] local_name); −− See B.1.

8.1/2
pragma Detect_Blocking; −− See H.5.

9
pragma Discard_Names[([On => ] local_name)]; −− See C.5.

10
pragma Elaborate(library_unit_name{, library_unit_name}); −− See 10.2.1.

11
pragma Elaborate_All(library_unit_name{, library_unit_name}); −− See 10.2.1.

12
pragma Elaborate_Body[(library_unit_name)]; −− See 10.2.1.

13
pragma Export(
     [Convention =>] convention_identifier, [Entity =>] local_name
  [, [External_Name =>] string_expression] [, [Link_Name =>] string_expression]); −− See B.1.

14
pragma Import(
     [Convention =>] convention_identifier, [Entity =>] local_name
  [, [External_Name =>] string_expression] [, [Link_Name =>] string_expression]); −− See B.1.

15
pragma Inline(name {, name}); −− See 6.3.2.

16
pragma Inspection_Point[(object_name {, object_name})]; −− See H.3.2.

17
pragma Interrupt_Handler(handler_name); −− See C.3.1.

18
pragma Interrupt_Priority[(expression)]; −− See D.1.

19
pragma Linker_Options(string_expression); −− See B.1.

20
pragma List(identifier); −− See 2.8.

21
pragma Locking_Policy(policy_identifier); −− See D.3.

21.1/2
pragma No_Return(procedure_local_name{, procedure_local_name}); −− See 6.5.1.

22
pragma Normalize_Scalars; −− See H.1.

23
pragma Optimize(identifier); −− See 2.8.

24
pragma Pack(first_subtype_local_name); −− See 13.2.

25
pragma Page; −− See 2.8.

25.1/2
pragma Partition_Elaboration_Policy (policy_identifier); −− See H.6.

25.2/2
pragma Preelaborable_Initialization(direct_name); −− See 10.2.1.

26
pragma Preelaborate[(library_unit_name)]; −− See 10.2.1.

27
pragma Priority(expression); −− See D.1.

27.1/2
pragma Priority_Specific_Dispatching (
     policy_identifier, first_priority_expression, last_priority_expression); −− See D.2.2.

27.2/2
pragma Profile (profile_identifier {, profile_pragma_argument_association}); −− See D.13.

28
pragma Pure[(library_unit_name)]; −− See 10.2.1.

29
pragma Queuing_Policy(policy_identifier); −− See D.4.

29.1/2
pragma Relative_Deadline (relative_deadline_expression); −− See D.2.6.

30
pragma Remote_Call_Interface[(library_unit_name)]; −− See E.2.3.

31
pragma Remote_Types[(library_unit_name)]; −− See E.2.2.

32
pragma Restrictions(restriction{, restriction}); −− See 13.12.

33
pragma Reviewable; −− See H.3.1.

34
pragma Shared_Passive[(library_unit_name)]; −− See E.2.1.

35
pragma Storage_Size(expression); −− See 13.3.

36
pragma Suppress(identifier); −− See 11.5.

37
pragma Task_Dispatching_Policy(policy_identifier); −− See D.2.2.

37.1/2
pragma Unchecked_Union (first_subtype_local_name); −− See B.3.3.

37.2/2
pragma Unsuppress(identifier); −− See 11.5.

38
pragma Volatile(local_name); −− See C.6.

39
pragma Volatile_Components(array_local_name); −− See C.6.

Wording Changes from Ada 83

39.a

Pragmas List, Page, and Optimize are now officially defined in 2.8, "2.8 Pragmas".