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