Issue all the mandatory diagnostics listed in the C standard. Some of them are left out by default,
since they trigger frequently on harmless code.
C preprocessors vary in some details. This manual discusses the GNU C preprocessor, which provides a
small superset of the features of ISO Standard C. In its default mode, the GNU C preprocessor does not
do a few things required by the standard. These are features which are rarely, if ever, used, and may
cause surprising changes to the meaning of a program which does not expect them. To get strict ISO
Standard C, you should use the -std=c90, -std=c99 or -std=c1x options, depending on which version of the
standard you want. To get all the mandatory diagnostics, you must also use -pedantic.
Issue all the mandatory diagnostics, and make all mandatory diagnostics into errors. This includes
mandatory diagnostics that GCC issues without -pedantic but treats as warnings.