<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1987-2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation.  A copy of
the license is included in the
section entitled "GNU Free Documentation License".

This manual contains no Invariant Sections.  The Front-Cover Texts are
(a) (see below), and the Back-Cover Texts are (b) (see below).

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>The C Preprocessor: Diagnostics</title>

<meta name="description" content="The C Preprocessor: Diagnostics">
<meta name="keywords" content="The C Preprocessor: Diagnostics">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index-of-Directives.html#Index-of-Directives" rel="index" title="Index of Directives">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html#Top" rel="up" title="Top">
<link href="Line-Control.html#Line-Control" rel="next" title="Line Control">
<link href="Deleted-Code.html#Deleted-Code" rel="prev" title="Deleted Code">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Diagnostics"></a>
<div class="header">
<p>
Next: <a href="Line-Control.html#Line-Control" accesskey="n" rel="next">Line Control</a>, Previous: <a href="Conditionals.html#Conditionals" accesskey="p" rel="prev">Conditionals</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index-of-Directives.html#Index-of-Directives" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Diagnostics-1"></a>
<h2 class="chapter">5 Diagnostics</h2>
<a name="index-diagnostic"></a>
<a name="index-reporting-errors"></a>
<a name="index-reporting-warnings"></a>

<a name="index-_0023error"></a>
<p>The directive &lsquo;<samp>#error</samp>&rsquo; causes the preprocessor to report a fatal
error.  The tokens forming the rest of the line following &lsquo;<samp>#error</samp>&rsquo;
are used as the error message.
</p>
<p>You would use &lsquo;<samp>#error</samp>&rsquo; inside of a conditional that detects a
combination of parameters which you know the program does not properly
support.  For example, if you know that the program will not run
properly on a VAX, you might write
</p>
<div class="smallexample">
<pre class="smallexample">#ifdef __vax__
#error &quot;Won't work on VAXen.  See comments at get_last_object.&quot;
#endif
</pre></div>

<p>If you have several configuration parameters that must be set up by
the installation in a consistent way, you can use conditionals to detect
an inconsistency and report it with &lsquo;<samp>#error</samp>&rsquo;.  For example,
</p>
<div class="smallexample">
<pre class="smallexample">#if !defined(FOO) &amp;&amp; defined(BAR)
#error &quot;BAR requires FOO.&quot;
#endif
</pre></div>

<a name="index-_0023warning"></a>
<p>The directive &lsquo;<samp>#warning</samp>&rsquo; is like &lsquo;<samp>#error</samp>&rsquo;, but causes the
preprocessor to issue a warning and continue preprocessing.  The tokens
following &lsquo;<samp>#warning</samp>&rsquo; are used as the warning message.
</p>
<p>You might use &lsquo;<samp>#warning</samp>&rsquo; in obsolete header files, with a message
directing the user to the header file which should be used instead.
</p>
<p>Neither &lsquo;<samp>#error</samp>&rsquo; nor &lsquo;<samp>#warning</samp>&rsquo; macro-expands its argument.
Internal whitespace sequences are each replaced with a single space.
The line must consist of complete tokens.  It is wisest to make the
argument of these directives be a single string constant; this avoids
problems with apostrophes and the like.
</p>



</body>
</html>
