1<html lang="en"> 2<head> 3<title>Warnings and Errors - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Trouble.html#Trouble" title="Trouble"> 9<link rel="prev" href="Non_002dbugs.html#Non_002dbugs" title="Non-bugs"> 10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 11<!-- 12Copyright (C) 1988-2013 Free Software Foundation, Inc. 13 14Permission is granted to copy, distribute and/or modify this document 15under the terms of the GNU Free Documentation License, Version 1.3 or 16any later version published by the Free Software Foundation; with the 17Invariant Sections being ``Funding Free Software'', the Front-Cover 18Texts being (a) (see below), and with the Back-Cover Texts being (b) 19(see below). A copy of the license is included in the section entitled 20``GNU Free Documentation License''. 21 22(a) The FSF's Front-Cover Text is: 23 24 A GNU Manual 25 26(b) The FSF's Back-Cover Text is: 27 28 You have freedom to copy and modify this GNU Manual, like GNU 29 software. Copies published by the Free Software Foundation raise 30 funds for GNU development.--> 31<meta http-equiv="Content-Style-Type" content="text/css"> 32<style type="text/css"><!-- 33 pre.display { font-family:inherit } 34 pre.format { font-family:inherit } 35 pre.smalldisplay { font-family:inherit; font-size:smaller } 36 pre.smallformat { font-family:inherit; font-size:smaller } 37 pre.smallexample { font-size:smaller } 38 pre.smalllisp { font-size:smaller } 39 span.sc { font-variant:small-caps } 40 span.roman { font-family:serif; font-weight:normal; } 41 span.sansserif { font-family:sans-serif; font-weight:normal; } 42--></style> 43<link rel="stylesheet" type="text/css" href="../cs.css"> 44</head> 45<body> 46<div class="node"> 47<a name="Warnings-and-Errors"></a> 48<p> 49Previous: <a rel="previous" accesskey="p" href="Non_002dbugs.html#Non_002dbugs">Non-bugs</a>, 50Up: <a rel="up" accesskey="u" href="Trouble.html#Trouble">Trouble</a> 51<hr> 52</div> 53 54<h3 class="section">11.9 Warning Messages and Error Messages</h3> 55 56<p><a name="index-error-messages-3594"></a><a name="index-warnings-vs-errors-3595"></a><a name="index-messages_002c-warning-and-error-3596"></a>The GNU compiler can produce two kinds of diagnostics: errors and 57warnings. Each kind has a different purpose: 58 59 <ul> 60<li><dfn>Errors</dfn> report problems that make it impossible to compile your 61program. GCC reports errors with the source file name and line 62number where the problem is apparent. 63 64 <li><dfn>Warnings</dfn> report other unusual conditions in your code that 65<em>may</em> indicate a problem, although compilation can (and does) 66proceed. Warning messages also report the source file name and line 67number, but include the text ‘<samp><span class="samp">warning:</span></samp>’ to distinguish them 68from error messages. 69</ul> 70 71 <p>Warnings may indicate danger points where you should check to make sure 72that your program really does what you intend; or the use of obsolete 73features; or the use of nonstandard features of GNU C or C++. Many 74warnings are issued only if you ask for them, with one of the <samp><span class="option">-W</span></samp> 75options (for instance, <samp><span class="option">-Wall</span></samp> requests a variety of useful 76warnings). 77 78 <p><a name="index-pedantic-3597"></a><a name="index-pedantic_002derrors-3598"></a>GCC always tries to compile your program if possible; it never 79gratuitously rejects a program whose meaning is clear merely because 80(for instance) it fails to conform to a standard. In some cases, 81however, the C and C++ standards specify that certain extensions are 82forbidden, and a diagnostic <em>must</em> be issued by a conforming 83compiler. The <samp><span class="option">-pedantic</span></samp> option tells GCC to issue warnings in 84such cases; <samp><span class="option">-pedantic-errors</span></samp> says to make them errors instead. 85This does not mean that <em>all</em> non-ISO constructs get warnings 86or errors. 87 88 <p>See <a href="Warning-Options.html#Warning-Options">Options to Request or Suppress Warnings</a>, for 89more detail on these and related command-line options. 90 91<!-- Copyright (C) 1988-2013 Free Software Foundation, Inc. --> 92<!-- This is part of the GCC manual. --> 93<!-- For copying conditions, see the file gcc.texi. --> 94 </body></html> 95 96