Concept Index

# operator, see Section 3.4 Stringification
## operator, see Section 3.5 Concatenation
_Pragma, see Chapter 7 Pragmas

A

alternative tokens, see Section 1.3 Tokenization
arguments, see Section 3.3 Macro Arguments
arguments in macro definitions, see Section 3.3 Macro Arguments
assertions, see Section 11.3.1 Assertions
assertions, canceling, see Section 11.3.1 Assertions

B

backslash-newline, see Section 1.2 Initial processing
block comments, see Section 1.2 Initial processing

C

C++ named operators, see Section 3.7.4 C++ Named Operators
character constants, see Section 1.3 Tokenization
command line, see Chapter 12 Invocation
commenting out code, see Section 4.3 Deleted Code
comments, see Section 1.2 Initial processing
common predefined macros, see Section 3.7.2 Common Predefined Macros
computed includes, see Section 2.5 Computed Includes
concatenation, see Section 3.5 Concatenation
conditional group, see Section 4.2.1 Ifdef
conditionals, see Chapter 4 Conditionals
continued lines, see Section 1.2 Initial processing
controlling macro, see Section 2.4 Once-Only Headers
defined, see Section 4.2.3 Defined

D

dependencies for make as output, see Chapter 13 Environment Variables
dependencies, make, see Chapter 12 Invocation
diagnostic, see Chapter 5 Diagnostics
differences from previous versions, see Section 11.4 Differences from previous versions
digraphs, see Section 1.3 Tokenization
directive line, see Section 1.4 The preprocessing language
directive name, see Section 1.4 The preprocessing language
directives, see Section 1.4 The preprocessing language

E

empty macro arguments, see Section 3.3 Macro Arguments
environment variables, see Chapter 13 Environment Variables
expansion of arguments, see Section 3.10.6 Argument Prescan

F

FDL, GNU Free Documentation License, see Chapter 14 GNU Free Documentation License
function-like macros, see Section 3.2 Function-like Macros

G

grouping options, see Chapter 12 Invocation
guard macro, see Section 2.4 Once-Only Headers

H

header file, see Chapter 2 Header Files
header file names, see Section 1.3 Tokenization

I

identifiers, see Section 1.3 Tokenization
implementation limits, see Section 11.2 Implementation limits
implementation-defined behavior, see Section 11.1 Implementation-defined behavior
including just once, see Section 2.4 Once-Only Headers
invocation, see Chapter 12 Invocation
iso646.h, see Section 3.7.4 C++ Named Operators

L

line comments, see Section 1.2 Initial processing
line control, see Chapter 6 Line Control
line endings, see Section 1.2 Initial processing
linemarkers, see Chapter 9 Preprocessor Output

M

macro argument expansion, see Section 3.10.6 Argument Prescan
macro arguments and directives, see Section 3.9 Directives Within Macro Arguments
macros in include, see Section 2.5 Computed Includes
macros with arguments, see Section 3.3 Macro Arguments
macros with variable arguments, see Section 3.6 Variadic Macros
make, see Chapter 12 Invocation
manifest constants, see Section 3.1 Object-like Macros

N

named operators, see Section 3.7.4 C++ Named Operators
newlines in macro arguments, see Section 3.10.7 Newlines in Arguments
null directive, see Chapter 8 Other Directives
numbers, see Section 1.3 Tokenization

O

object-like macro, see Section 3.1 Object-like Macros
options, see Chapter 12 Invocation
options, grouping, see Chapter 12 Invocation
other tokens, see Section 1.3 Tokenization
output format, see Chapter 9 Preprocessor Output
overriding a header file, see Section 2.6 Wrapper Headers

P

parentheses in macro bodies, see Section 3.10.2 Operator Precedence Problems
pitfalls of macros, see Section 3.10 Macro Pitfalls
predefined macros, see Section 3.7 Predefined Macros
predefined macros, system-specific, see Section 3.7.3 System-specific Predefined Macros
predicates, see Section 11.3.1 Assertions
preprocessing directives, see Section 1.4 The preprocessing language
preprocessing numbers, see Section 1.3 Tokenization
preprocessing tokens, see Section 1.3 Tokenization
prescan of macro arguments, see Section 3.10.6 Argument Prescan
problems with macros, see Section 3.10 Macro Pitfalls
punctuators, see Section 1.3 Tokenization

R

redefining macros, see Section 3.8 Undefining and Redefining Macros
repeated inclusion, see Section 2.4 Once-Only Headers
reporting errors, see Chapter 5 Diagnostics
reporting warnings, see Chapter 5 Diagnostics
reserved namespace, see Section 3.7.3 System-specific Predefined Macros

S

self-reference, see Section 3.10.5 Self-Referential Macros
semicolons (after macro calls), see Section 3.10.3 Swallowing the Semicolon
side effects (in macro arguments), see Section 3.10.4 Duplication of Side Effects
standard predefined macros., see Section 3.7.1 Standard Predefined Macros
string constants, see Section 1.3 Tokenization
string literals, see Section 1.3 Tokenization
stringification, see Section 3.4 Stringification
symbolic constants, see Section 3.1 Object-like Macros
system header files, see Section 2.7 System Headers
system header files, see Chapter 2 Header Files
system-specific predefined macros, see Section 3.7.3 System-specific Predefined Macros

T

testing predicates, see Section 11.3.1 Assertions
token concatenation, see Section 3.5 Concatenation
token pasting, see Section 3.5 Concatenation
tokens, see Section 1.3 Tokenization
trigraphs, see Section 1.2 Initial processing

U

undefining macros, see Section 3.8 Undefining and Redefining Macros
unsafe macros, see Section 3.10.4 Duplication of Side Effects

V

variable number of arguments, see Section 3.6 Variadic Macros
variadic macros, see Section 3.6 Variadic Macros

W

wrapper #ifndef, see Section 2.4 Once-Only Headers
wrapper headers, see Section 2.6 Wrapper Headers