The GNU compiler can produce two kinds of diagnostics: errors and warnings. Each kind has a different purpose:
warning:
to distinguish them
from error messages.
Warnings may indicate danger points where you should check to make sure
that your program really does what you intend; or the use of obsolete
features; or the use of nonstandard features of GNU C or C++. Many
warnings are issued only if you ask for them, with one of the -W
options (for instance, -Wall
requests a variety of useful
warnings).
GCC always tries to compile your program if possible; it never
gratuitously rejects a program whose meaning is clear merely because
(for instance) it fails to conform to a standard. In some cases,
however, the C and C++ standards specify that certain extensions are
forbidden, and a diagnostic must be issued by a conforming
compiler. The -pedantic
option tells GCC to issue warnings in
such cases; -pedantic-errors
says to make them errors instead.
This does not mean that all non-ISO constructs get warnings
or errors.
See Options to Request or Suppress Warnings, for more detail on these and related command-line options.