(Corresponds to Section 4.2 of ANSI X3.9-1978 FORTRAN 77.)
A typeless constant has one of the following forms:
'binary-digits'B
'octal-digits'O
'hexadecimal-digits'Z
'hexadecimal-digits'X
binary-digits, octal-digits, and hexadecimal-digits
are nonempty strings of characters in the set 01, 01234567,
and 0123456789ABCDEFabcdef, respectively.
(The value for A (and a) is 10, for B and b
is 11, and so on.)
A prefix-radix constant, such as Z'ABCD', can optionally be
treated as typeless. See Options Controlling Fortran Dialect, for information on the
-ftypeless-boz option.
Typeless constants have values that depend on the context in which they are used.
All other constants, called typed constants, are interpreted--converted to internal form--according to their inherent type. Thus, context is never a determining factor for the type, and hence the interpretation, of a typed constant. (All constants in the ANSI FORTRAN 77 language are typed constants.)
For example, 1 is always type INTEGER(KIND=1) in GNU
Fortran (called default INTEGER in Fortran 90),
9.435784839284958 is always type REAL(KIND=1) (even if the
additional precision specified is lost, and even when used in a
REAL(KIND=2) context), 1E0 is always type REAL(KIND=2),
and 1D0 is always type REAL(KIND=2).