Next: Exception Handling Control, Previous: Auxiliary Output Control, Up: Switches for gcc
Debug unit in the compiler source
file debug.adb.
The format of the output is very similar to standard Ada source, and is
easily understood by an Ada programmer. The following special syntactic
additions correspond to low level features used in the generated code that
do not have any exact analogies in pure Ada source form. The following
is a partial list of these special constructions. See the specification
of package Sprint in file sprint.ads for a full list.
new xxx [storage_pool = yyy]at end procedure-name;(if expr then expr else expr)x?y:z construction in C.
^(source)?(source)?^(source) #/ y #mod y #* y #rem yfree expr [storage_pool = xxx]free statement.
freeze typename [actions]reference itype! (arg, arg, arg) : label && expr && expr ... && expr[constraint_error]Constraint_Error exception.
'reference!(source-expression)[numerator/denominator]Note that -gnatD actually implies -gnatG
automatically, so it is not necessary to give both options.
In other words -gnatD is equivalent to -gnatDG).
GNAT sources for full details on the format of -gnatR3
output. If the switch is followed by an s (e.g. -gnatR2s), then
the output is to a file with the name file.rep where
file is the name of the corresponding source file.
Note that it is possible for record components to have zero size. In
this case, the component clause uses an obvious extension of permitted
Ada syntax, for example at 0 range 0 .. -1.
gnatfind and gnatxref. The -gnatx switch
suppresses this information. This saves some space and may slightly
speed up compilation, but means that these tools cannot be used.