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
options (for instance,
-Wall requests a variety of useful
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
-pedantic option tells GCC to issue warnings in
-pedantic-errors says to make them errors instead.
This does not mean that all non-ISO constructs get warnings
See Options to Request or Suppress Warnings, for more detail on these and related command-line options.