Next: RM 2 8 17-19 Pragmas, Previous: RM 1 1 5 12 Bounded Errors, Up: Implementation Advice [Contents][Index]
"Normally, implementation-defined pragmas should have no semantic effect for error-free programs; that is, if the implementation-defined pragmas are removed from a working program, the program should still be legal, and should still have the same semantics."
The following implementation defined pragmas are exceptions to this rule:
| Pragma | Explanation |
|---|---|
| `Abort_Defer' | Affects semantics |
| `Ada_83' | Affects legality |
| `Assert' | Affects semantics |
| `CPP_Class' | Affects semantics |
| `CPP_Constructor' | Affects semantics |
| `Debug' | Affects semantics |
| `Interface_Name' | Affects semantics |
| `Machine_Attribute' | Affects semantics |
| `Unimplemented_Unit' | Affects legality |
| `Unchecked_Union' | Affects semantics |
In each of the above cases, it is essential to the purpose of the pragma that this advice not be followed. For details see Implementation Defined Pragmas.