The language definition
classifies errors into several different categories:
An implementation
may provide
nonstandard modes of operation. Typically these modes
would be selected by a
pragma or
by a command line switch when the compiler is invoked. When operating
in a nonstandard mode, the implementation may reject
compilation_units
that do not conform to additional requirements associated with the mode,
such as an excessive number of warnings or violation of coding style
guidelines. Similarly, in a nonstandard mode, the implementation may
apply special optimizations or alternative algorithms that are only meaningful
for programs that satisfy certain criteria specified by the implementation.
In any case, an implementation
shall support a
standard mode that conforms to the requirements
of this International Standard; in particular, in the standard mode,
all legal
compilation_units shall
be accepted.