blob: d10a47b96a237b0329af2ef50e4f61e369585ac1 [file] [log] [blame]
<html lang="en">
<head>
<title>Concept Index - The C Preprocessor</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The C Preprocessor">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Option-Index.html#Option-Index" title="Option Index">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2008, 2009, 2010
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.2 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.
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Concept-Index"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Option-Index.html#Option-Index">Option Index</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>
<h2 class="unnumbered">Concept Index</h2>
<ul class="index-cp" compact>
<li><a href="Stringification.html#index-g_t_0040samp_007b_0023_007d-operator-51">&lsquo;<samp><span class="samp">#</span></samp>&rsquo; operator</a>: <a href="Stringification.html#Stringification">Stringification</a></li>
<li><a href="Concatenation.html#index-g_t_0040samp_007b_0023_0023_007d-operator-55">&lsquo;<samp><span class="samp">##</span></samp>&rsquo; operator</a>: <a href="Concatenation.html#Concatenation">Concatenation</a></li>
<li><a href="Pragmas.html#index-g_t_0040code_007b_005fPragma_007d-100"><code>_Pragma</code></a>: <a href="Pragmas.html#Pragmas">Pragmas</a></li>
<li><a href="Tokenization.html#index-alternative-tokens-19">alternative tokens</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Macro-Arguments.html#index-arguments-46">arguments</a>: <a href="Macro-Arguments.html#Macro-Arguments">Macro Arguments</a></li>
<li><a href="Macro-Arguments.html#index-arguments-in-macro-definitions-48">arguments in macro definitions</a>: <a href="Macro-Arguments.html#Macro-Arguments">Macro Arguments</a></li>
<li><a href="Obsolete-Features.html#index-assertions-111">assertions</a>: <a href="Obsolete-Features.html#Obsolete-Features">Obsolete Features</a></li>
<li><a href="Obsolete-Features.html#index-assertions_002c-canceling-115">assertions, canceling</a>: <a href="Obsolete-Features.html#Obsolete-Features">Obsolete Features</a></li>
<li><a href="Initial-processing.html#index-backslash_002dnewline-4">backslash-newline</a>: <a href="Initial-processing.html#Initial-processing">Initial processing</a></li>
<li><a href="Initial-processing.html#index-block-comments-7">block comments</a>: <a href="Initial-processing.html#Initial-processing">Initial processing</a></li>
<li><a href="C_002b_002b-Named-Operators.html#index-C_002b_002b-named-operators-66">C++ named operators</a>: <a href="C_002b_002b-Named-Operators.html#C_002b_002b-Named-Operators">C++ Named Operators</a></li>
<li><a href="Tokenization.html#index-character-constants-15">character constants</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Invocation.html#index-character-set_002c-execution-174">character set, execution</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Invocation.html#index-character-set_002c-input-178">character set, input</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Invocation.html#index-character-set_002c-wide-execution-176">character set, wide execution</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Invocation.html#index-command-line-119">command line</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Deleted-Code.html#index-commenting-out-code-92">commenting out code</a>: <a href="Deleted-Code.html#Deleted-Code">Deleted Code</a></li>
<li><a href="Initial-processing.html#index-comments-5">comments</a>: <a href="Initial-processing.html#Initial-processing">Initial processing</a></li>
<li><a href="Common-Predefined-Macros.html#index-common-predefined-macros-61">common predefined macros</a>: <a href="Common-Predefined-Macros.html#Common-Predefined-Macros">Common Predefined Macros</a></li>
<li><a href="Computed-Includes.html#index-computed-includes-34">computed includes</a>: <a href="Computed-Includes.html#Computed-Includes">Computed Includes</a></li>
<li><a href="Concatenation.html#index-concatenation-52">concatenation</a>: <a href="Concatenation.html#Concatenation">Concatenation</a></li>
<li><a href="Ifdef.html#index-conditional-group-87">conditional group</a>: <a href="Ifdef.html#Ifdef">Ifdef</a></li>
<li><a href="Conditionals.html#index-conditionals-83">conditionals</a>: <a href="Conditionals.html#Conditionals">Conditionals</a></li>
<li><a href="Initial-processing.html#index-continued-lines-3">continued lines</a>: <a href="Initial-processing.html#Initial-processing">Initial processing</a></li>
<li><a href="Once_002dOnly-Headers.html#index-controlling-macro-31">controlling macro</a>: <a href="Once_002dOnly-Headers.html#Once_002dOnly-Headers">Once-Only Headers</a></li>
<li><a href="Defined.html#index-g_t_0040code_007bdefined_007d-89"><code>defined</code></a>: <a href="Defined.html#Defined">Defined</a></li>
<li><a href="Environment-Variables.html#index-dependencies-for-make-as-output-204">dependencies for make as output</a>: <a href="Environment-Variables.html#Environment-Variables">Environment Variables</a></li>
<li><a href="Invocation.html#index-dependencies_002c-make-143">dependencies, make</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Diagnostics.html#index-diagnostic-93">diagnostic</a>: <a href="Diagnostics.html#Diagnostics">Diagnostics</a></li>
<li><a href="Differences-from-previous-versions.html#index-differences-from-previous-versions-117">differences from previous versions</a>: <a href="Differences-from-previous-versions.html#Differences-from-previous-versions">Differences from previous versions</a></li>
<li><a href="Tokenization.html#index-digraphs-18">digraphs</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="The-preprocessing-language.html#index-directive-line-23">directive line</a>: <a href="The-preprocessing-language.html#The-preprocessing-language">The preprocessing language</a></li>
<li><a href="The-preprocessing-language.html#index-directive-name-24">directive name</a>: <a href="The-preprocessing-language.html#The-preprocessing-language">The preprocessing language</a></li>
<li><a href="The-preprocessing-language.html#index-directives-21">directives</a>: <a href="The-preprocessing-language.html#The-preprocessing-language">The preprocessing language</a></li>
<li><a href="Macro-Arguments.html#index-empty-macro-arguments-49">empty macro arguments</a>: <a href="Macro-Arguments.html#Macro-Arguments">Macro Arguments</a></li>
<li><a href="Environment-Variables.html#index-environment-variables-198">environment variables</a>: <a href="Environment-Variables.html#Environment-Variables">Environment Variables</a></li>
<li><a href="Argument-Prescan.html#index-expansion-of-arguments-79">expansion of arguments</a>: <a href="Argument-Prescan.html#Argument-Prescan">Argument Prescan</a></li>
<li><a href="GNU-Free-Documentation-License.html#index-FDL_002c-GNU-Free-Documentation-License-207">FDL, GNU Free Documentation License</a>: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a></li>
<li><a href="Function_002dlike-Macros.html#index-function_002dlike-macros-45">function-like macros</a>: <a href="Function_002dlike-Macros.html#Function_002dlike-Macros">Function-like Macros</a></li>
<li><a href="Invocation.html#index-grouping-options-120">grouping options</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Once_002dOnly-Headers.html#index-guard-macro-32">guard macro</a>: <a href="Once_002dOnly-Headers.html#Once_002dOnly-Headers">Once-Only Headers</a></li>
<li><a href="Header-Files.html#index-header-file-25">header file</a>: <a href="Header-Files.html#Header-Files">Header Files</a></li>
<li><a href="Tokenization.html#index-header-file-names-16">header file names</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Tokenization.html#index-identifiers-10">identifiers</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Implementation-limits.html#index-implementation-limits-110">implementation limits</a>: <a href="Implementation-limits.html#Implementation-limits">Implementation limits</a></li>
<li><a href="Implementation_002ddefined-behavior.html#index-implementation_002ddefined-behavior-109">implementation-defined behavior</a>: <a href="Implementation_002ddefined-behavior.html#Implementation_002ddefined-behavior">Implementation-defined behavior</a></li>
<li><a href="Once_002dOnly-Headers.html#index-including-just-once-29">including just once</a>: <a href="Once_002dOnly-Headers.html#Once_002dOnly-Headers">Once-Only Headers</a></li>
<li><a href="Invocation.html#index-invocation-118">invocation</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="C_002b_002b-Named-Operators.html#index-iso646_002eh-67">iso646.h</a>: <a href="C_002b_002b-Named-Operators.html#C_002b_002b-Named-Operators">C++ Named Operators</a></li>
<li><a href="Initial-processing.html#index-line-comments-6">line comments</a>: <a href="Initial-processing.html#Initial-processing">Initial processing</a></li>
<li><a href="Line-Control.html#index-line-control-98">line control</a>: <a href="Line-Control.html#Line-Control">Line Control</a></li>
<li><a href="Initial-processing.html#index-line-endings-1">line endings</a>: <a href="Initial-processing.html#Initial-processing">Initial processing</a></li>
<li><a href="Preprocessor-Output.html#index-linemarkers-108">linemarkers</a>: <a href="Preprocessor-Output.html#Preprocessor-Output">Preprocessor Output</a></li>
<li><a href="Argument-Prescan.html#index-macro-argument-expansion-80">macro argument expansion</a>: <a href="Argument-Prescan.html#Argument-Prescan">Argument Prescan</a></li>
<li><a href="Directives-Within-Macro-Arguments.html#index-macro-arguments-and-directives-71">macro arguments and directives</a>: <a href="Directives-Within-Macro-Arguments.html#Directives-Within-Macro-Arguments">Directives Within Macro Arguments</a></li>
<li><a href="Computed-Includes.html#index-macros-in-include-35">macros in include</a>: <a href="Computed-Includes.html#Computed-Includes">Computed Includes</a></li>
<li><a href="Macro-Arguments.html#index-macros-with-arguments-47">macros with arguments</a>: <a href="Macro-Arguments.html#Macro-Arguments">Macro Arguments</a></li>
<li><a href="Variadic-Macros.html#index-macros-with-variable-arguments-57">macros with variable arguments</a>: <a href="Variadic-Macros.html#Variadic-Macros">Variadic Macros</a></li>
<li><a href="Invocation.html#index-make-142">make</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Object_002dlike-Macros.html#index-manifest-constants-43">manifest constants</a>: <a href="Object_002dlike-Macros.html#Object_002dlike-Macros">Object-like Macros</a></li>
<li><a href="C_002b_002b-Named-Operators.html#index-named-operators-65">named operators</a>: <a href="C_002b_002b-Named-Operators.html#C_002b_002b-Named-Operators">C++ Named Operators</a></li>
<li><a href="Newlines-in-Arguments.html#index-newlines-in-macro-arguments-82">newlines in macro arguments</a>: <a href="Newlines-in-Arguments.html#Newlines-in-Arguments">Newlines in Arguments</a></li>
<li><a href="Other-Directives.html#index-null-directive-106">null directive</a>: <a href="Other-Directives.html#Other-Directives">Other Directives</a></li>
<li><a href="Tokenization.html#index-numbers-11">numbers</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Object_002dlike-Macros.html#index-object_002dlike-macro-41">object-like macro</a>: <a href="Object_002dlike-Macros.html#Object_002dlike-Macros">Object-like Macros</a></li>
<li><a href="Invocation.html#index-options-122">options</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Invocation.html#index-options_002c-grouping-121">options, grouping</a>: <a href="Invocation.html#Invocation">Invocation</a></li>
<li><a href="Tokenization.html#index-other-tokens-20">other tokens</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Preprocessor-Output.html#index-output-format-107">output format</a>: <a href="Preprocessor-Output.html#Preprocessor-Output">Preprocessor Output</a></li>
<li><a href="Wrapper-Headers.html#index-overriding-a-header-file-37">overriding a header file</a>: <a href="Wrapper-Headers.html#Wrapper-Headers">Wrapper Headers</a></li>
<li><a href="Operator-Precedence-Problems.html#index-parentheses-in-macro-bodies-74">parentheses in macro bodies</a>: <a href="Operator-Precedence-Problems.html#Operator-Precedence-Problems">Operator Precedence Problems</a></li>
<li><a href="Macro-Pitfalls.html#index-pitfalls-of-macros-73">pitfalls of macros</a>: <a href="Macro-Pitfalls.html#Macro-Pitfalls">Macro Pitfalls</a></li>
<li><a href="Predefined-Macros.html#index-predefined-macros-59">predefined macros</a>: <a href="Predefined-Macros.html#Predefined-Macros">Predefined Macros</a></li>
<li><a href="System_002dspecific-Predefined-Macros.html#index-predefined-macros_002c-system_002dspecific-63">predefined macros, system-specific</a>: <a href="System_002dspecific-Predefined-Macros.html#System_002dspecific-Predefined-Macros">System-specific Predefined Macros</a></li>
<li><a href="Obsolete-Features.html#index-predicates-112">predicates</a>: <a href="Obsolete-Features.html#Obsolete-Features">Obsolete Features</a></li>
<li><a href="The-preprocessing-language.html#index-preprocessing-directives-22">preprocessing directives</a>: <a href="The-preprocessing-language.html#The-preprocessing-language">The preprocessing language</a></li>
<li><a href="Tokenization.html#index-preprocessing-numbers-12">preprocessing numbers</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Tokenization.html#index-preprocessing-tokens-9">preprocessing tokens</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Argument-Prescan.html#index-prescan-of-macro-arguments-81">prescan of macro arguments</a>: <a href="Argument-Prescan.html#Argument-Prescan">Argument Prescan</a></li>
<li><a href="Macro-Pitfalls.html#index-problems-with-macros-72">problems with macros</a>: <a href="Macro-Pitfalls.html#Macro-Pitfalls">Macro Pitfalls</a></li>
<li><a href="Tokenization.html#index-punctuators-17">punctuators</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Undefining-and-Redefining-Macros.html#index-redefining-macros-69">redefining macros</a>: <a href="Undefining-and-Redefining-Macros.html#Undefining-and-Redefining-Macros">Undefining and Redefining Macros</a></li>
<li><a href="Once_002dOnly-Headers.html#index-repeated-inclusion-28">repeated inclusion</a>: <a href="Once_002dOnly-Headers.html#Once_002dOnly-Headers">Once-Only Headers</a></li>
<li><a href="Diagnostics.html#index-reporting-errors-94">reporting errors</a>: <a href="Diagnostics.html#Diagnostics">Diagnostics</a></li>
<li><a href="Diagnostics.html#index-reporting-warnings-95">reporting warnings</a>: <a href="Diagnostics.html#Diagnostics">Diagnostics</a></li>
<li><a href="System_002dspecific-Predefined-Macros.html#index-reserved-namespace-64">reserved namespace</a>: <a href="System_002dspecific-Predefined-Macros.html#System_002dspecific-Predefined-Macros">System-specific Predefined Macros</a></li>
<li><a href="Self_002dReferential-Macros.html#index-self_002dreference-78">self-reference</a>: <a href="Self_002dReferential-Macros.html#Self_002dReferential-Macros">Self-Referential Macros</a></li>
<li><a href="Swallowing-the-Semicolon.html#index-semicolons-_0028after-macro-calls_0029-75">semicolons (after macro calls)</a>: <a href="Swallowing-the-Semicolon.html#Swallowing-the-Semicolon">Swallowing the Semicolon</a></li>
<li><a href="Duplication-of-Side-Effects.html#index-side-effects-_0028in-macro-arguments_0029-76">side effects (in macro arguments)</a>: <a href="Duplication-of-Side-Effects.html#Duplication-of-Side-Effects">Duplication of Side Effects</a></li>
<li><a href="Standard-Predefined-Macros.html#index-standard-predefined-macros_002e-60">standard predefined macros.</a>: <a href="Standard-Predefined-Macros.html#Standard-Predefined-Macros">Standard Predefined Macros</a></li>
<li><a href="Tokenization.html#index-string-constants-14">string constants</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Tokenization.html#index-string-literals-13">string literals</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Stringification.html#index-stringification-50">stringification</a>: <a href="Stringification.html#Stringification">Stringification</a></li>
<li><a href="Object_002dlike-Macros.html#index-symbolic-constants-42">symbolic constants</a>: <a href="Object_002dlike-Macros.html#Object_002dlike-Macros">Object-like Macros</a></li>
<li><a href="System-Headers.html#index-system-header-files-39">system header files</a>: <a href="System-Headers.html#System-Headers">System Headers</a></li>
<li><a href="Header-Files.html#index-system-header-files-26">system header files</a>: <a href="Header-Files.html#Header-Files">Header Files</a></li>
<li><a href="System_002dspecific-Predefined-Macros.html#index-system_002dspecific-predefined-macros-62">system-specific predefined macros</a>: <a href="System_002dspecific-Predefined-Macros.html#System_002dspecific-Predefined-Macros">System-specific Predefined Macros</a></li>
<li><a href="Obsolete-Features.html#index-testing-predicates-113">testing predicates</a>: <a href="Obsolete-Features.html#Obsolete-Features">Obsolete Features</a></li>
<li><a href="Concatenation.html#index-token-concatenation-54">token concatenation</a>: <a href="Concatenation.html#Concatenation">Concatenation</a></li>
<li><a href="Concatenation.html#index-token-pasting-53">token pasting</a>: <a href="Concatenation.html#Concatenation">Concatenation</a></li>
<li><a href="Tokenization.html#index-tokens-8">tokens</a>: <a href="Tokenization.html#Tokenization">Tokenization</a></li>
<li><a href="Initial-processing.html#index-trigraphs-2">trigraphs</a>: <a href="Initial-processing.html#Initial-processing">Initial processing</a></li>
<li><a href="Undefining-and-Redefining-Macros.html#index-undefining-macros-68">undefining macros</a>: <a href="Undefining-and-Redefining-Macros.html#Undefining-and-Redefining-Macros">Undefining and Redefining Macros</a></li>
<li><a href="Duplication-of-Side-Effects.html#index-unsafe-macros-77">unsafe macros</a>: <a href="Duplication-of-Side-Effects.html#Duplication-of-Side-Effects">Duplication of Side Effects</a></li>
<li><a href="Variadic-Macros.html#index-variable-number-of-arguments-56">variable number of arguments</a>: <a href="Variadic-Macros.html#Variadic-Macros">Variadic Macros</a></li>
<li><a href="Variadic-Macros.html#index-variadic-macros-58">variadic macros</a>: <a href="Variadic-Macros.html#Variadic-Macros">Variadic Macros</a></li>
<li><a href="Once_002dOnly-Headers.html#index-wrapper-_0040code_007b_0023ifndef_007d-30">wrapper <code>#ifndef</code></a>: <a href="Once_002dOnly-Headers.html#Once_002dOnly-Headers">Once-Only Headers</a></li>
<li><a href="Wrapper-Headers.html#index-wrapper-headers-36">wrapper headers</a>: <a href="Wrapper-Headers.html#Wrapper-Headers">Wrapper Headers</a></li>
</ul></body></html>