Contents|Index|Previous|Next
Warning
messages and error messages
The GNU compiler can produce
two kinds of diagnostics: errors and warnings. Each kind has a different
purpose.
-
Errors report
problems that make it impossible to compile your program. GNU CC reports
errors with the source filename and line number where the problem is apparent.
-
Warnings report
other unusual conditions in your code that may indicate a problem, although
compilation can (and does) proceed. Warning messages also report the source
filename and line number, but include the text, 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). GNU CC 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 GNU CC to issue warnings in such cases; ‘-pedantic-errors’
says to make them errors instead. This does not mean that all non-ANSI
constructs get warnings or errors. See Options
to request or suppress warnings for more detail on these and related
command-line options.