Keyword Index

! in constraint, see Section 6.38.2 Multiple Alternative Constraints
# in constraint, see Section 6.38.3 Constraint Modifier Characters
#pragma, see Section 6.48 Pragmas Accepted by GCC
#pragma implementation, see Section 7.5 Declarations and Definitions in One Header
#pragma implementation, implied, see Section 7.5 Declarations and Definitions in One Header
#pragma interface, see Section 7.5 Declarations and Definitions in One Header
#pragma, reason for not using, see Section 6.26 Declaring Attributes of Functions
$, see Section 6.30 Dollar Signs in Identifier Names
in constraint, see Section 6.38.3 Constraint Modifier Characters
45nclude, see Section 4.15 Specifying subprocesses and the switches to pass to them
45nclude_noerr, see Section 4.15 Specifying subprocesses and the switches to pass to them
rename, see Section 4.15 Specifying subprocesses and the switches to pass to them
& in constraint, see Section 6.38.3 Constraint Modifier Characters
', see Section 11.5 Incompatibilities of GCC
* in constraint, see Section 6.38.3 Constraint Modifier Characters
+ in constraint, see Section 6.38.3 Constraint Modifier Characters
-lgcc, use with -nodefaultlibs, see Section 4.13 Options for Linking
-lgcc, use with -nostdlib, see Section 4.13 Options for Linking
-nodefaultlibs and unresolved references, see Section 4.13 Options for Linking
-nostdlib and unresolved references, see Section 4.13 Options for Linking
.sdata/.sdata2 references (PowerPC), see Section 4.17.2 IBM RS/6000 and PowerPC Options
//, see Section 6.29 C++ Style Comments
0 in constraint, see Section 6.38.1 Simple Constraints
< in constraint, see Section 6.38.1 Simple Constraints
<?, see Section 7.1 Minimum and Maximum Operators in C++
= in constraint, see Section 6.38.3 Constraint Modifier Characters
> in constraint, see Section 6.38.1 Simple Constraints
>?, see Section 7.1 Minimum and Maximum Operators in C++
? in constraint, see Section 6.38.2 Multiple Alternative Constraints
?: extensions, see Section 6.8 Conditionals with Omitted Operands
?: extensions, see Section 6.7 Generalized Lvalues
?: side effect, see Section 6.8 Conditionals with Omitted Operands
_ in variables in macros, see Section 6.6 Referring to a Type with typeof
__builtin_apply, see Section 6.5 Constructing Function Calls
__builtin_apply_args, see Section 6.5 Constructing Function Calls
__builtin_choose_expr, see Section 6.46 Other built-in functions provided by GCC
__builtin_clz, see Section 6.46 Other built-in functions provided by GCC
__builtin_clzl, see Section 6.46 Other built-in functions provided by GCC
__builtin_clzll, see Section 6.46 Other built-in functions provided by GCC
__builtin_constant_p, see Section 6.46 Other built-in functions provided by GCC
__builtin_ctz, see Section 6.46 Other built-in functions provided by GCC
__builtin_ctzl, see Section 6.46 Other built-in functions provided by GCC
__builtin_ctzll, see Section 6.46 Other built-in functions provided by GCC
__builtin_expect, see Section 6.46 Other built-in functions provided by GCC
__builtin_ffs, see Section 6.46 Other built-in functions provided by GCC
__builtin_ffsl, see Section 6.46 Other built-in functions provided by GCC
__builtin_ffsll, see Section 6.46 Other built-in functions provided by GCC
__builtin_frame_address, see Section 6.44 Getting the Return or Frame Address of a Function
__builtin_huge_val, see Section 6.46 Other built-in functions provided by GCC
__builtin_huge_valf, see Section 6.46 Other built-in functions provided by GCC
__builtin_huge_vall, see Section 6.46 Other built-in functions provided by GCC
__builtin_inf, see Section 6.46 Other built-in functions provided by GCC
__builtin_inff, see Section 6.46 Other built-in functions provided by GCC
__builtin_infl, see Section 6.46 Other built-in functions provided by GCC
__builtin_isgreater, see Section 6.46 Other built-in functions provided by GCC
__builtin_isgreaterequal, see Section 6.46 Other built-in functions provided by GCC
__builtin_isless, see Section 6.46 Other built-in functions provided by GCC
__builtin_islessequal, see Section 6.46 Other built-in functions provided by GCC
__builtin_islessgreater, see Section 6.46 Other built-in functions provided by GCC
__builtin_isunordered, see Section 6.46 Other built-in functions provided by GCC
__builtin_nan, see Section 6.46 Other built-in functions provided by GCC
__builtin_nanf, see Section 6.46 Other built-in functions provided by GCC
__builtin_nanl, see Section 6.46 Other built-in functions provided by GCC
__builtin_nans, see Section 6.46 Other built-in functions provided by GCC
__builtin_nansf, see Section 6.46 Other built-in functions provided by GCC
__builtin_nansl, see Section 6.46 Other built-in functions provided by GCC
__builtin_parity, see Section 6.46 Other built-in functions provided by GCC
__builtin_parityl, see Section 6.46 Other built-in functions provided by GCC
__builtin_parityll, see Section 6.46 Other built-in functions provided by GCC
__builtin_popcount, see Section 6.46 Other built-in functions provided by GCC
__builtin_popcountl, see Section 6.46 Other built-in functions provided by GCC
__builtin_popcountll, see Section 6.46 Other built-in functions provided by GCC
__builtin_prefetch, see Section 6.46 Other built-in functions provided by GCC
__builtin_return, see Section 6.5 Constructing Function Calls
__builtin_return_address, see Section 6.44 Getting the Return or Frame Address of a Function
__builtin_types_compatible_p, see Section 6.46 Other built-in functions provided by GCC
__complex__ keyword, see Section 6.10 Complex Numbers
__extension__, see Section 6.41 Alternate Keywords
__func__ identifier, see Section 6.43 Function Names as Strings
__FUNCTION__ identifier, see Section 6.43 Function Names as Strings
__imag__ keyword, see Section 6.10 Complex Numbers
__PRETTY_FUNCTION__ identifier, see Section 6.43 Function Names as Strings
__real__ keyword, see Section 6.10 Complex Numbers
__STDC_HOSTED__, see Chapter 3 Language Standards Supported by GCC
__thread, see Section 6.50 Thread-Local Storage
_Complex keyword, see Section 6.10 Complex Numbers
_Exit, see Section 6.46 Other built-in functions provided by GCC
_exit, see Section 6.46 Other built-in functions provided by GCC

A

ABI, see Chapter 9 Binary Compatibility
abort, see Section 6.46 Other built-in functions provided by GCC
abs, see Section 6.46 Other built-in functions provided by GCC
accessing volatiles, see Section 7.2 When is a Volatile Object Accessed?
Ada, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
address constraints, see Section 6.38.1 Simple Constraints
address of a label, see Section 6.3 Labels as Values
address_operand, see Section 6.38.1 Simple Constraints
alias attribute, see Section 6.26 Declaring Attributes of Functions
aliasing of parameters, see Section 4.18 Options for Code Generation Conventions
aligned attribute, see Section 6.33 Specifying Attributes of Variables
aligned attribute, see Section 6.34 Specifying Attributes of Types
alignment, see Section 6.32 Inquiring on Alignment of Types or Variables
alloca, see Section 6.46 Other built-in functions provided by GCC
alloca vs variable-length arrays, see Section 6.14 Arrays of Variable Length
alternate keywords, see Section 6.41 Alternate Keywords
always_inline function attribute, see Section 6.26 Declaring Attributes of Functions
AMD x86-64 Options, see Section 4.17.3 Intel 386 and AMD x86-64 Options
AMD1, see Chapter 3 Language Standards Supported by GCC
ANSI C, see Chapter 3 Language Standards Supported by GCC
ANSI C standard, see Chapter 3 Language Standards Supported by GCC
ANSI C89, see Chapter 3 Language Standards Supported by GCC
ANSI support, see Section 4.4 Options Controlling C Dialect
ANSI X3.159-1989, see Chapter 3 Language Standards Supported by GCC
apostrophes, see Section 11.5 Incompatibilities of GCC
application binary interface, see Chapter 9 Binary Compatibility
ARM [Annotated C++ Reference Manual], see Section 7.11 Backwards Compatibility
arrays of length zero, see Section 6.12 Arrays of Length Zero
arrays of variable length, see Section 6.14 Arrays of Variable Length
arrays, non-lvalue, see Section 6.18 Non-Lvalue Arrays May Have Subscripts
asm constraints, see Section 6.38 Constraints for asmOperands
asm expressions, see Section 6.37 Assembler Instructions with C Expression Operands
assembler instructions, see Section 6.37 Assembler Instructions with C Expression Operands
assembler names for identifiers, see Section 6.39 Controlling Names Used in Assembler Code
assembly code, invalid, see Section 12.1 Have You Found a Bug?
atan, see Section 6.46 Other built-in functions provided by GCC
atan2, see Section 6.46 Other built-in functions provided by GCC
atan2f, see Section 6.46 Other built-in functions provided by GCC
atan2l, see Section 6.46 Other built-in functions provided by GCC
atanf, see Section 6.46 Other built-in functions provided by GCC
atanl, see Section 6.46 Other built-in functions provided by GCC
attribute of types, see Section 6.34 Specifying Attributes of Types
attribute of variables, see Section 6.33 Specifying Attributes of Variables
attribute syntax, see Section 6.27 Attribute Syntax
autoincrement/decrement addressing, see Section 6.38.1 Simple Constraints
automatic inline for C++ member fns, see Section 6.36 An Inline Function is As Fast As a Macro

B

Backwards Compatibility, see Section 7.11 Backwards Compatibility
base class members, see Section 11.9.2 Name lookup, templates, and accessing members of base classes
bcmp, see Section 6.46 Other built-in functions provided by GCC
binary compatibility, see Chapter 9 Binary Compatibility
bound pointer to member function, see Section 7.7 Extracting the function pointer from a bound pointer to member function
bug criteria, see Section 12.1 Have You Found a Bug?
bugs, see Chapter 12 Reporting Bugs
bugs, known, see Chapter 11 Known Causes of Trouble with GCC
built-in functions, see Section 4.4 Options Controlling C Dialect
built-in functions, see Section 6.46 Other built-in functions provided by GCC
bzero, see Section 6.46 Other built-in functions provided by GCC

C

C compilation options, see Chapter 4 GCC Command Options
C intermediate output, nonexistent, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
C language extensions, see Chapter 6 Extensions to the C Language Family
C language, traditional, see Section 4.4 Options Controlling C Dialect
C standard, see Chapter 3 Language Standards Supported by GCC
C standards, see Chapter 3 Language Standards Supported by GCC
C++, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
c++, see Section 4.3 Compiling C++ Programs
C++ comments, see Section 6.29 C++ Style Comments
C++ compilation options, see Chapter 4 GCC Command Options
C++ interface and implementation headers, see Section 7.5 Declarations and Definitions in One Header
C++ language extensions, see Chapter 7 Extensions to the C++ Language
C++ member fns, automatically inline, see Section 6.36 An Inline Function is As Fast As a Macro
C++ misunderstandings, see Section 11.9 Common Misunderstandings with GNU C++
C++ options, command line, see Section 4.5 Options Controlling C++ Dialect
C++ pragmas, effect on inlining, see Section 7.5 Declarations and Definitions in One Header
C++ source file suffixes, see Section 4.3 Compiling C++ Programs
C++ static data, declaring and defining, see Section 11.9.1 Declare andDefine Static Members
C89, see Chapter 3 Language Standards Supported by GCC
C90, see Chapter 3 Language Standards Supported by GCC
C94, see Chapter 3 Language Standards Supported by GCC
C95, see Chapter 3 Language Standards Supported by GCC
C99, see Chapter 3 Language Standards Supported by GCC
C9X, see Chapter 3 Language Standards Supported by GCC
cabs, see Section 6.46 Other built-in functions provided by GCC
cabsf, see Section 6.46 Other built-in functions provided by GCC
cabsl, see Section 6.46 Other built-in functions provided by GCC
calloc, see Section 6.46 Other built-in functions provided by GCC
case labels in initializers, see Section 6.22 Designated Initializers
case ranges, see Section 6.23 Case Ranges
cast to a union, see Section 6.24 Cast to a Union Type
casts as lvalues, see Section 6.7 Generalized Lvalues
ceil, see Section 6.46 Other built-in functions provided by GCC
ceilf, see Section 6.46 Other built-in functions provided by GCC
ceill, see Section 6.46 Other built-in functions provided by GCC
cimag, see Section 6.46 Other built-in functions provided by GCC
cimagf, see Section 6.46 Other built-in functions provided by GCC
cimagl, see Section 6.46 Other built-in functions provided by GCC
cleanup attribute, see Section 6.33 Specifying Attributes of Variables
code generation conventions, see Section 4.18 Options for Code Generation Conventions
code, mixed with declarations, see Section 6.25 Mixed Declarations and Code
command options, see Chapter 4 GCC Command Options
comments, C++ style, see Section 6.29 C++ Style Comments
common attribute, see Section 6.33 Specifying Attributes of Variables
comparison of signed and unsigned values, warning, see Section 4.8 Options to Request or Suppress Warnings
compiler bugs, reporting, see Section 12.2 How and where to Report Bugs
compiler compared to C++ preprocessor, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
compiler options, C++, see Section 4.5 Options Controlling C++ Dialect
compiler options, Objective-C, see Section 4.6 Options Controlling Objective-C Dialect
compiler version, specifying, see Section 4.16 Specifying Target Machine and Compiler Version
COMPILER_PATH, see Section 4.19 Environment Variables Affecting GCC
complex conjugation, see Section 6.10 Complex Numbers
complex numbers, see Section 6.10 Complex Numbers
compound expressions as lvalues, see Section 6.7 Generalized Lvalues
compound literals, see Section 6.21 Compound Literals
computed gotos, see Section 6.3 Labels as Values
conditional expressions as lvalues, see Section 6.7 Generalized Lvalues
conditional expressions, extensions, see Section 6.8 Conditionals with Omitted Operands
conflicting types, see Section 11.8 Disappointments and Misunderstandings
conj, see Section 6.46 Other built-in functions provided by GCC
conjf, see Section 6.46 Other built-in functions provided by GCC
conjl, see Section 6.46 Other built-in functions provided by GCC
const applied to function, see Section 6.26 Declaring Attributes of Functions
const function attribute, see Section 6.26 Declaring Attributes of Functions
constants in constraints, see Section 6.38.1 Simple Constraints
constraint modifier characters, see Section 6.38.3 Constraint Modifier Characters
constraint, matching, see Section 6.38.1 Simple Constraints
constraints, asm, see Section 6.38 Constraints for asmOperands
constraints, machine specific, see Section 6.38.4 Constraints for Particular Machines
constructing calls, see Section 6.5 Constructing Function Calls
constructor expressions, see Section 6.21 Compound Literals
constructor function attribute, see Section 6.26 Declaring Attributes of Functions
contributors, see Chapter 19 Contributors to GCC
core dump, see Section 12.1 Have You Found a Bug?
cos, see Section 6.46 Other built-in functions provided by GCC
cosf, see Section 6.46 Other built-in functions provided by GCC
cosl, see Section 6.46 Other built-in functions provided by GCC
creal, see Section 6.46 Other built-in functions provided by GCC
crealf, see Section 6.46 Other built-in functions provided by GCC
creall, see Section 6.46 Other built-in functions provided by GCC
cross compiling, see Section 4.16 Specifying Target Machine and Compiler Version

D

DBX, see Section 11.3 Interoperation
deallocating variable length arrays, see Section 6.14 Arrays of Variable Length
debugging information options, see Section 4.9 Options for Debugging Your Program or GCC
declaration scope, see Section 11.5 Incompatibilities of GCC
declarations inside expressions, see Section 6.1 Statements and Declarations in Expressions
declarations, mixed with code, see Section 6.25 Mixed Declarations and Code
declaring attributes of functions, see Section 6.26 Declaring Attributes of Functions
declaring static data in C++, see Section 11.9.1 Declare andDefine Static Members
defining static data in C++, see Section 11.9.1 Declare andDefine Static Members
dependencies for make as output, see Section 4.19 Environment Variables Affecting GCC
dependencies, make, see Section 4.11 Options Controlling the Preprocessor
dependent name lookup, see Section 11.9.2 Name lookup, templates, and accessing members of base classes
deprecated attribute, see Section 6.33 Specifying Attributes of Variables
deprecated attribute., see Section 6.26 Declaring Attributes of Functions
designated initializers, see Section 6.22 Designated Initializers
designator lists, see Section 6.22 Designated Initializers
designators, see Section 6.22 Designated Initializers
destructor function attribute, see Section 6.26 Declaring Attributes of Functions
diagnostic messages, see Section 4.7 Options to Control Diagnostic Messages Formatting
dialect options, see Section 4.4 Options Controlling C Dialect
digits in constraint, see Section 6.38.1 Simple Constraints
directory options, see Section 4.14 Options for Directory Search
dollar signs in identifier names, see Section 6.30 Dollar Signs in Identifier Names
double-word arithmetic, see Section 6.9 Double-Word Integers
downward funargs, see Section 6.4 Nested Functions
E in constraint, see Section 6.38.1 Simple Constraints

E

earlyclobber operand, see Section 6.38.3 Constraint Modifier Characters
empty structures, see Section 6.13 Structures With No Members
environment variables, see Section 4.19 Environment Variables Affecting GCC
error messages, see Section 11.12 Warning Messages and Error Messages
escaped newlines, see Section 6.16 Slightly Looser Rules for Escaped Newlines
exclamation point, see Section 6.38.2 Multiple Alternative Constraints
exit, see Section 6.46 Other built-in functions provided by GCC
exp, see Section 6.46 Other built-in functions provided by GCC
expf, see Section 6.46 Other built-in functions provided by GCC
expl, see Section 6.46 Other built-in functions provided by GCC
explicit register variables, see Section 6.40 Variables in Specified Registers
expressions containing statements, see Section 6.1 Statements and Declarations in Expressions
expressions, compound, as lvalues, see Section 6.7 Generalized Lvalues
expressions, conditional, as lvalues, see Section 6.7 Generalized Lvalues
expressions, constructor, see Section 6.21 Compound Literals
extended asm, see Section 6.37 Assembler Instructions with C Expression Operands
extensible constraints, see Section 6.38.1 Simple Constraints
extensions, ?:, see Section 6.8 Conditionals with Omitted Operands
extensions, ?:, see Section 6.7 Generalized Lvalues
extensions, C language, see Chapter 6 Extensions to the C Language Family
extensions, C++ language, see Chapter 7 Extensions to the C++ Language
external declaration scope, see Section 11.5 Incompatibilities of GCC
F in constraint, see Section 6.38.1 Simple Constraints

F

fabs, see Section 6.46 Other built-in functions provided by GCC
fabsf, see Section 6.46 Other built-in functions provided by GCC
fabsl, see Section 6.46 Other built-in functions provided by GCC
fatal signal, see Section 12.1 Have You Found a Bug?
FDL, GNU Free Documentation License, see Chapter 18 GNU Free Documentation License
ffs, see Section 6.46 Other built-in functions provided by GCC
file name suffix, see Section 4.2 Options Controlling the Kind of Output
file names, see Section 4.13 Options for Linking
flexible array members, see Section 6.12 Arrays of Length Zero
float as function value type, see Section 11.5 Incompatibilities of GCC
floating point precision, see Section 11.8 Disappointments and Misunderstandings
floating point precision, see Section 4.10 Options That Control Optimization
floor, see Section 6.46 Other built-in functions provided by GCC
floorf, see Section 6.46 Other built-in functions provided by GCC
floorl, see Section 6.46 Other built-in functions provided by GCC
fmod, see Section 6.46 Other built-in functions provided by GCC
fmodf, see Section 6.46 Other built-in functions provided by GCC
fmodl, see Section 6.46 Other built-in functions provided by GCC
format function attribute, see Section 6.26 Declaring Attributes of Functions
format_arg function attribute, see Section 6.26 Declaring Attributes of Functions
Fortran, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
forwarding calls, see Section 6.5 Constructing Function Calls
fprintf, see Section 6.46 Other built-in functions provided by GCC
fprintf_unlocked, see Section 6.46 Other built-in functions provided by GCC
fputs, see Section 6.46 Other built-in functions provided by GCC
fputs_unlocked, see Section 6.46 Other built-in functions provided by GCC
freestanding environment, see Chapter 3 Language Standards Supported by GCC
freestanding implementation, see Chapter 3 Language Standards Supported by GCC
fscanf, and constant strings, see Section 11.5 Incompatibilities of GCC
function attributes, see Section 6.26 Declaring Attributes of Functions
function pointers, arithmetic, see Section 6.19 Arithmetic on void- and Function-Pointers
function prototype declarations, see Section 6.28 Prototypes and Old-Style Function Definitions
function without a prologue/epilogue code, see Section 6.26 Declaring Attributes of Functions
function, size of pointer to, see Section 6.19 Arithmetic on void- and Function-Pointers
functions called via pointer on the RS/6000 and PowerPC, see Section 6.26 Declaring Attributes of Functions
functions in arbitrary sections, see Section 6.26 Declaring Attributes of Functions
functions that are passed arguments in registers on the 386, see Section 6.26 Declaring Attributes of Functions
functions that behave like malloc, see Section 6.26 Declaring Attributes of Functions
functions that do not pop the argument stack on the 386, see Section 6.26 Declaring Attributes of Functions
functions that do pop the argument stack on the 386, see Section 6.26 Declaring Attributes of Functions
functions that have no side effects, see Section 6.26 Declaring Attributes of Functions
functions that never return, see Section 6.26 Declaring Attributes of Functions
functions that pop the argument stack on the 386, see Section 6.26 Declaring Attributes of Functions
functions which do not handle memory bank switching on 68HC11/68HC12, see Section 6.26 Declaring Attributes of Functions
functions which handle memory bank switching, see Section 6.26 Declaring Attributes of Functions
functions with non-null pointer arguments, see Section 6.26 Declaring Attributes of Functions
functions with printf, scanf, strftime or strfmon style arguments, see Section 6.26 Declaring Attributes of Functions
g in constraint, see Section 6.38.1 Simple Constraints
G in constraint, see Section 6.38.1 Simple Constraints

G

G++, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
g++, see Section 4.3 Compiling C++ Programs
GCC, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
GCC command options, see Chapter 4 GCC Command Options
GCC_EXEC_PREFIX, see Section 4.19 Environment Variables Affecting GCC
gcc_struct, see Section 6.34 Specifying Attributes of Types
gcc_struct attribute, see Section 6.33 Specifying Attributes of Variables
generalized lvalues, see Section 6.7 Generalized Lvalues
global offset table, see Section 4.18 Options for Code Generation Conventions
global register after longjmp, see Section 6.40.1 Defining Global Register Variables
global register variables, see Section 6.40.1 Defining Global Register Variables
GNAT, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
goto with computed label, see Section 6.3 Labels as Values
gprof, see Section 4.9 Options for Debugging Your Program or GCC
grouping options, see Chapter 4 GCC Command Options
H in constraint, see Section 6.38.1 Simple Constraints

H

hardware models and configurations, specifying, see Section 4.17 Hardware Models and Configurations
hex floats, see Section 6.11 Hex Floats
hosted environment, see Chapter 3 Language Standards Supported by GCC
hosted environment, see Section 4.4 Options Controlling C Dialect
hosted implementation, see Chapter 3 Language Standards Supported by GCC
I in constraint, see Section 6.38.1 Simple Constraints
i in constraint, see Section 6.38.1 Simple Constraints

I

i386 Options, see Section 4.17.3 Intel 386 and AMD x86-64 Options
IA-64 Options, see Section 4.17.4 IA-64 Options
IBM RS/6000 and PowerPC Options, see Section 4.17.2 IBM RS/6000 and PowerPC Options
identifier names, dollar signs in, see Section 6.30 Dollar Signs in Identifier Names
identifiers, names in assembler code, see Section 6.39 Controlling Names Used in Assembler Code
imaxabs, see Section 6.46 Other built-in functions provided by GCC
implementation-defined behavior, C language, see Chapter 5 C Implementation-defined behavior
implied #pragma implementation, see Section 7.5 Declarations and Definitions in One Header
incompatibilities of GCC, see Section 11.5 Incompatibilities of GCC
increment operators, see Section 12.1 Have You Found a Bug?
index, see Section 6.46 Other built-in functions provided by GCC
init_priority attribute, see Section 7.8 C++-Specific Variable, Function, and Type Attributes
initializations in expressions, see Section 6.21 Compound Literals
initializers with labeled elements, see Section 6.22 Designated Initializers
initializers, non-constant, see Section 6.20 Non-Constant Initializers
inline automatic for C++ member fns, see Section 6.36 An Inline Function is As Fast As a Macro
inline functions, see Section 6.36 An Inline Function is As Fast As a Macro
inline functions, omission of, see Section 6.36 An Inline Function is As Fast As a Macro
inlining and C++ pragmas, see Section 7.5 Declarations and Definitions in One Header
installation trouble, see Chapter 11 Known Causes of Trouble with GCC
integrating function code, see Section 6.36 An Inline Function is As Fast As a Macro
Intel 386 Options, see Section 4.17.3 Intel 386 and AMD x86-64 Options
interface and implementation headers, C++, see Section 7.5 Declarations and Definitions in One Header
intermediate C version, nonexistent, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
interrupt handler functions, see Section 6.26 Declaring Attributes of Functions
introduction, see Chapter 1 Introduction
invalid assembly code, see Section 12.1 Have You Found a Bug?
invalid input, see Section 12.1 Have You Found a Bug?
invoking g++, see Section 4.3 Compiling C++ Programs
ISO 9899, see Chapter 3 Language Standards Supported by GCC
ISO C, see Chapter 3 Language Standards Supported by GCC
ISO C standard, see Chapter 3 Language Standards Supported by GCC
ISO C90, see Chapter 3 Language Standards Supported by GCC
ISO C94, see Chapter 3 Language Standards Supported by GCC
ISO C95, see Chapter 3 Language Standards Supported by GCC
ISO C99, see Chapter 3 Language Standards Supported by GCC
ISO C9X, see Chapter 3 Language Standards Supported by GCC
ISO support, see Section 4.4 Options Controlling C Dialect
ISO/IEC 9899, see Chapter 3 Language Standards Supported by GCC

J

Java, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
java_interface attribute, see Section 7.8 C++-Specific Variable, Function, and Type Attributes

K

keywords, alternate, see Section 6.41 Alternate Keywords
known causes of trouble, see Chapter 11 Known Causes of Trouble with GCC

L

labeled elements in initializers, see Section 6.22 Designated Initializers
labels as values, see Section 6.3 Labels as Values
labs, see Section 6.46 Other built-in functions provided by GCC
LANG, see Section 4.19 Environment Variables Affecting GCC
language dialect options, see Section 4.4 Options Controlling C Dialect
LC_ALL, see Section 4.19 Environment Variables Affecting GCC
LC_CTYPE, see Section 4.19 Environment Variables Affecting GCC
LC_MESSAGES, see Section 4.19 Environment Variables Affecting GCC
length-zero arrays, see Section 6.12 Arrays of Length Zero
Libraries, see Section 4.13 Options for Linking
LIBRARY_PATH, see Section 4.19 Environment Variables Affecting GCC
link options, see Section 4.13 Options for Linking
LL integer suffix, see Section 6.9 Double-Word Integers
llabs, see Section 6.46 Other built-in functions provided by GCC
load address instruction, see Section 6.38.1 Simple Constraints
local labels, see Section 6.2 Locally Declared Labels
local variables in macros, see Section 6.6 Referring to a Type with typeof
local variables, specifying registers, see Section 6.40.2 Specifying Registers for Local Variables
locale, see Section 4.19 Environment Variables Affecting GCC
locale definition, see Section 4.19 Environment Variables Affecting GCC
log, see Section 6.46 Other built-in functions provided by GCC
logf, see Section 6.46 Other built-in functions provided by GCC
logl, see Section 6.46 Other built-in functions provided by GCC
long long data types, see Section 6.9 Double-Word Integers
longjmp, see Section 6.40.1 Defining Global Register Variables
longjmp incompatibilities, see Section 11.5 Incompatibilities of GCC
longjmp warnings, see Section 4.8 Options to Request or Suppress Warnings
lvalues, generalized, see Section 6.7 Generalized Lvalues
m in constraint, see Section 6.38.1 Simple Constraints

M

machine dependent options, see Section 4.17 Hardware Models and Configurations
machine specific constraints, see Section 6.38.4 Constraints for Particular Machines
macro with variable arguments, see Section 6.15 Macros with a Variable Number of Arguments.
macros containing asm, see Section 6.37 Assembler Instructions with C Expression Operands
macros, inline alternative, see Section 6.36 An Inline Function is As Fast As a Macro
macros, local labels, see Section 6.2 Locally Declared Labels
macros, local variables in, see Section 6.6 Referring to a Type with typeof
macros, statements in expressions, see Section 6.1 Statements and Declarations in Expressions
macros, types of arguments, see Section 6.6 Referring to a Type with typeof
make, see Section 4.11 Options Controlling the Preprocessor
malloc, see Section 6.46 Other built-in functions provided by GCC
malloc attribute, see Section 6.26 Declaring Attributes of Functions
matching constraint, see Section 6.38.1 Simple Constraints
maximum operator, see Section 7.1 Minimum and Maximum Operators in C++
member fns, automatically inline, see Section 6.36 An Inline Function is As Fast As a Macro
memcmp, see Section 6.46 Other built-in functions provided by GCC
memcpy, see Section 6.46 Other built-in functions provided by GCC
memory references in constraints, see Section 6.38.1 Simple Constraints
mempcpy, see Section 6.46 Other built-in functions provided by GCC
memset, see Section 6.46 Other built-in functions provided by GCC
message formatting, see Section 4.7 Options to Control Diagnostic Messages Formatting
messages, warning, see Section 4.8 Options to Request or Suppress Warnings
messages, warning and error, see Section 11.12 Warning Messages and Error Messages
middle-operands, omitted, see Section 6.8 Conditionals with Omitted Operands
minimum operator, see Section 7.1 Minimum and Maximum Operators in C++
misunderstandings in C++, see Section 11.9 Common Misunderstandings with GNU C++
mixed declarations and code, see Section 6.25 Mixed Declarations and Code
mktemp, and constant strings, see Section 11.5 Incompatibilities of GCC
mode attribute, see Section 6.33 Specifying Attributes of Variables
modifiers in constraints, see Section 6.38.3 Constraint Modifier Characters
ms_struct, see Section 6.34 Specifying Attributes of Types
ms_struct attribute, see Section 6.33 Specifying Attributes of Variables
multi-line string literals, see Section 6.17 String Literals with Embedded Newlines
multiple alternative constraints, see Section 6.38.2 Multiple Alternative Constraints
multiprecision arithmetic, see Section 6.9 Double-Word Integers
n in constraint, see Section 6.38.1 Simple Constraints

N

names used in assembler code, see Section 6.39 Controlling Names Used in Assembler Code
naming convention, implementation headers, see Section 7.5 Declarations and Definitions in One Header
nearbyint, see Section 6.46 Other built-in functions provided by GCC
nearbyintf, see Section 6.46 Other built-in functions provided by GCC
nearbyintl, see Section 6.46 Other built-in functions provided by GCC
nested functions, see Section 6.4 Nested Functions
newlines (escaped), see Section 6.16 Slightly Looser Rules for Escaped Newlines
no_instrument_function function attribute, see Section 6.26 Declaring Attributes of Functions
nocommon attribute, see Section 6.33 Specifying Attributes of Variables
noinline function attribute, see Section 6.26 Declaring Attributes of Functions
non-constant initializers, see Section 6.20 Non-Constant Initializers
non-static inline function, see Section 6.36 An Inline Function is As Fast As a Macro
nonnull function attribute, see Section 6.26 Declaring Attributes of Functions
noreturn function attribute, see Section 6.26 Declaring Attributes of Functions
nothrow function attribute, see Section 6.26 Declaring Attributes of Functions
o in constraint, see Section 6.38.1 Simple Constraints

O

Objective-C, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
Objective-C options, command line, see Section 4.6 Options Controlling Objective-C Dialect
offsettable address, see Section 6.38.1 Simple Constraints
old-style function definitions, see Section 6.28 Prototypes and Old-Style Function Definitions
omitted middle-operands, see Section 6.8 Conditionals with Omitted Operands
open coding, see Section 6.36 An Inline Function is As Fast As a Macro
operand constraints, asm, see Section 6.38 Constraints for asmOperands
optimize options, see Section 4.10 Options That Control Optimization
options to control diagnostics formatting, see Section 4.7 Options to Control Diagnostic Messages Formatting
options to control warnings, see Section 4.8 Options to Request or Suppress Warnings
options, C++, see Section 4.5 Options Controlling C++ Dialect
options, code generation, see Section 4.18 Options for Code Generation Conventions
options, debugging, see Section 4.9 Options for Debugging Your Program or GCC
options, dialect, see Section 4.4 Options Controlling C Dialect
options, directory search, see Section 4.14 Options for Directory Search
options, GCC command, see Chapter 4 GCC Command Options
options, grouping, see Chapter 4 GCC Command Options
options, linking, see Section 4.13 Options for Linking
options, Objective-C, see Section 4.6 Options Controlling Objective-C Dialect
options, optimization, see Section 4.10 Options That Control Optimization
options, order, see Chapter 4 GCC Command Options
options, preprocessor, see Section 4.11 Options Controlling the Preprocessor
order of evaluation, side effects, see Section 11.11 Certain Changes We Don't Want to Make
order of options, see Chapter 4 GCC Command Options
other register constraints, see Section 6.38.1 Simple Constraints
output file option, see Section 4.2 Options Controlling the Kind of Output
overloaded virtual fn, warning, see Section 4.5 Options Controlling C++ Dialect
p in constraint, see Section 6.38.1 Simple Constraints
packed attribute, see Section 6.33 Specifying Attributes of Variables

P

parameter forward declaration, see Section 6.14 Arrays of Variable Length
parameters, aliased, see Section 4.18 Options for Code Generation Conventions
PIC, see Section 4.18 Options for Code Generation Conventions
pmf, see Section 7.7 Extracting the function pointer from a bound pointer to member function
pointer arguments, see Section 6.26 Declaring Attributes of Functions
pointer to member function, see Section 7.7 Extracting the function pointer from a bound pointer to member function
portions of temporary objects, pointers to, see Section 11.9.3 Temporaries May Vanish Before You Expect
pow, see Section 6.46 Other built-in functions provided by GCC
powf, see Section 6.46 Other built-in functions provided by GCC
powl, see Section 6.46 Other built-in functions provided by GCC
pragma, extern_prefix, see Section 6.48.3 Tru64 Pragmas
pragma, longcall, see Section 6.48.1 RS/6000 and PowerPC Pragmas
pragma, reason for not using, see Section 6.26 Declaring Attributes of Functions
pragma, redefine_extname, see Section 6.48.2 Solaris Pragmas
pragmas, see Section 6.48 Pragmas Accepted by GCC
pragmas in C++, effect on inlining, see Section 7.5 Declarations and Definitions in One Header
pragmas, interface and implementation, see Section 7.5 Declarations and Definitions in One Header
pragmas, warning of unknown, see Section 4.8 Options to Request or Suppress Warnings
precompiled headers, see Section 4.20 Using Precompiled Headers
preprocessing numbers, see Section 11.5 Incompatibilities of GCC
preprocessing tokens, see Section 11.5 Incompatibilities of GCC
preprocessor options, see Section 4.11 Options Controlling the Preprocessor
printf, see Section 6.46 Other built-in functions provided by GCC
printf_unlocked, see Section 6.46 Other built-in functions provided by GCC
prof, see Section 4.9 Options for Debugging Your Program or GCC
promotion of formal parameters, see Section 6.28 Prototypes and Old-Style Function Definitions
pure function attribute, see Section 6.26 Declaring Attributes of Functions
push address instruction, see Section 6.38.1 Simple Constraints
putchar, see Section 6.46 Other built-in functions provided by GCC
puts, see Section 6.46 Other built-in functions provided by GCC
qsort, and global register variables, see Section 6.40.1 Defining Global Register Variables

Q

question mark, see Section 6.38.2 Multiple Alternative Constraints
r in constraint, see Section 6.38.1 Simple Constraints

R

ranges in case statements, see Section 6.23 Case Ranges
read-only strings, see Section 11.5 Incompatibilities of GCC
register variable after longjmp, see Section 6.40.1 Defining Global Register Variables
registers, see Section 6.37 Assembler Instructions with C Expression Operands
registers for local variables, see Section 6.40.2 Specifying Registers for Local Variables
registers in constraints, see Section 6.38.1 Simple Constraints
registers, global allocation, see Section 6.40 Variables in Specified Registers
registers, global variables in, see Section 6.40.1 Defining Global Register Variables
regparm attribute, see Section 6.26 Declaring Attributes of Functions
reordering, warning, see Section 4.5 Options Controlling C++ Dialect
reporting bugs, see Chapter 12 Reporting Bugs
rest argument (in macro), see Section 6.15 Macros with a Variable Number of Arguments.
restricted pointers, see Section 7.3 Restricting Pointer Aliasing
restricted references, see Section 7.3 Restricting Pointer Aliasing
restricted this pointer, see Section 7.3 Restricting Pointer Aliasing
rindex, see Section 6.46 Other built-in functions provided by GCC
round, see Section 6.46 Other built-in functions provided by GCC
roundf, see Section 6.46 Other built-in functions provided by GCC
roundl, see Section 6.46 Other built-in functions provided by GCC
RS/6000 and PowerPC Options, see Section 4.17.2 IBM RS/6000 and PowerPC Options
RTTI, see Section 7.4 Vague Linkage
run-time options, see Section 4.18 Options for Code Generation Conventions
s in constraint, see Section 6.38.1 Simple Constraints

S

S/390 and zSeries Options, see Section 4.17.5 S/390 and zSeries Options
scanf, see Section 6.46 Other built-in functions provided by GCC
scanf, and constant strings, see Section 11.5 Incompatibilities of GCC
scope of a variable length array, see Section 6.14 Arrays of Variable Length
scope of declaration, see Section 11.8 Disappointments and Misunderstandings
scope of external declarations, see Section 11.5 Incompatibilities of GCC
search path, see Section 4.14 Options for Directory Search
section function attribute, see Section 6.26 Declaring Attributes of Functions
section variable attribute, see Section 6.33 Specifying Attributes of Variables
setjmp, see Section 6.40.1 Defining Global Register Variables
setjmp incompatibilities, see Section 11.5 Incompatibilities of GCC
shared strings, see Section 11.5 Incompatibilities of GCC
shared variable attribute, see Section 6.33 Specifying Attributes of Variables
side effect in ?:, see Section 6.8 Conditionals with Omitted Operands
side effects, macro argument, see Section 6.1 Statements and Declarations in Expressions
side effects, order of evaluation, see Section 11.11 Certain Changes We Don't Want to Make
signed and unsigned values, comparison warning, see Section 4.8 Options to Request or Suppress Warnings
simple constraints, see Section 6.38.1 Simple Constraints
sin, see Section 6.46 Other built-in functions provided by GCC
sinf, see Section 6.46 Other built-in functions provided by GCC
sinl, see Section 6.46 Other built-in functions provided by GCC
sizeof, see Section 6.6 Referring to a Type with typeof
smaller data references (PowerPC), see Section 4.17.2 IBM RS/6000 and PowerPC Options
snprintf, see Section 6.46 Other built-in functions provided by GCC
Spec Files, see Section 4.15 Specifying subprocesses and the switches to pass to them
specified registers, see Section 6.40 Variables in Specified Registers
specifying compiler version and target machine, see Section 4.16 Specifying Target Machine and Compiler Version
specifying hardware config, see Section 4.17 Hardware Models and Configurations
specifying machine version, see Section 4.16 Specifying Target Machine and Compiler Version
specifying registers for local variables, see Section 6.40.2 Specifying Registers for Local Variables
speed of compilation, see Section 4.20 Using Precompiled Headers
sprintf, see Section 6.46 Other built-in functions provided by GCC
sqrt, see Section 6.46 Other built-in functions provided by GCC
sqrtf, see Section 6.46 Other built-in functions provided by GCC
sqrtl, see Section 6.46 Other built-in functions provided by GCC
sscanf, see Section 6.46 Other built-in functions provided by GCC
sscanf, and constant strings, see Section 11.5 Incompatibilities of GCC
statements inside expressions, see Section 6.1 Statements and Declarations in Expressions
static data in C++, declaring and defining, see Section 11.9.1 Declare andDefine Static Members
stpcpy, see Section 6.46 Other built-in functions provided by GCC
strcat, see Section 6.46 Other built-in functions provided by GCC
strchr, see Section 6.46 Other built-in functions provided by GCC
strcmp, see Section 6.46 Other built-in functions provided by GCC
strcpy, see Section 6.46 Other built-in functions provided by GCC
strcspn, see Section 6.46 Other built-in functions provided by GCC
strdup, see Section 6.46 Other built-in functions provided by GCC
string constants, see Section 11.5 Incompatibilities of GCC
strlen, see Section 6.46 Other built-in functions provided by GCC
strncat, see Section 6.46 Other built-in functions provided by GCC
strncmp, see Section 6.46 Other built-in functions provided by GCC
strncpy, see Section 6.46 Other built-in functions provided by GCC
strpbrk, see Section 6.46 Other built-in functions provided by GCC
strrchr, see Section 6.46 Other built-in functions provided by GCC
strspn, see Section 6.46 Other built-in functions provided by GCC
strstr, see Section 6.46 Other built-in functions provided by GCC
struct, see Section 6.49 Unnamed struct/union fields within structs/unions.
structures, see Section 11.5 Incompatibilities of GCC
structures, constructor expression, see Section 6.21 Compound Literals
submodel options, see Section 4.17 Hardware Models and Configurations
subscripting, see Section 6.18 Non-Lvalue Arrays May Have Subscripts
subscripting and function values, see Section 6.18 Non-Lvalue Arrays May Have Subscripts
suffixes for C++ source, see Section 4.3 Compiling C++ Programs
suppressing warnings, see Section 4.8 Options to Request or Suppress Warnings
surprises in C++, see Section 11.9 Common Misunderstandings with GNU C++
syntax checking, see Section 4.8 Options to Request or Suppress Warnings
synthesized methods, warning, see Section 4.5 Options Controlling C++ Dialect
system headers, warnings from, see Section 4.8 Options to Request or Suppress Warnings

T

tan, see Section 6.46 Other built-in functions provided by GCC
tanf, see Section 6.46 Other built-in functions provided by GCC
tanl, see Section 6.46 Other built-in functions provided by GCC
target machine, specifying, see Section 4.16 Specifying Target Machine and Compiler Version
target options, see Section 4.16 Specifying Target Machine and Compiler Version
TC1, see Chapter 3 Language Standards Supported by GCC
TC2, see Chapter 3 Language Standards Supported by GCC
Technical Corrigenda, see Chapter 3 Language Standards Supported by GCC
Technical Corrigendum 1, see Chapter 3 Language Standards Supported by GCC
Technical Corrigendum 2, see Chapter 3 Language Standards Supported by GCC
template instantiation, see Section 7.6 Where's the Template?
temporaries, lifetime of, see Section 11.9.3 Temporaries May Vanish Before You Expect
Thread-Local Storage, see Section 6.50 Thread-Local Storage
thunks, see Section 6.4 Nested Functions
TLS, see Section 6.50 Thread-Local Storage
tls_model attribute, see Section 6.33 Specifying Attributes of Variables
TMPDIR, see Section 4.19 Environment Variables Affecting GCC
traditional C language, see Section 4.4 Options Controlling C Dialect
treelang, see Chapter 3 Language Standards Supported by GCC
treelang, see Chapter 2 Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang
trunc, see Section 6.46 Other built-in functions provided by GCC
truncf, see Section 6.46 Other built-in functions provided by GCC
truncl, see Section 6.46 Other built-in functions provided by GCC
two-stage name lookup, see Section 11.9.2 Name lookup, templates, and accessing members of base classes
type alignment, see Section 6.32 Inquiring on Alignment of Types or Variables
type attributes, see Section 6.34 Specifying Attributes of Types
type_info, see Section 7.4 Vague Linkage
typedef names as function parameters, see Section 11.5 Incompatibilities of GCC
typeof, see Section 6.6 Referring to a Type with typeof
ULL integer suffix, see Section 6.9 Double-Word Integers

U

Ultrix calling convention, see Section 11.3 Interoperation
undefined behavior, see Section 12.1 Have You Found a Bug?
undefined function value, see Section 12.1 Have You Found a Bug?
underscores in variables in macros, see Section 6.6 Referring to a Type with typeof
union, see Section 6.49 Unnamed struct/union fields within structs/unions.
union, casting to a, see Section 6.24 Cast to a Union Type
unions, see Section 11.5 Incompatibilities of GCC
unknown pragmas, warning, see Section 4.8 Options to Request or Suppress Warnings
unresolved references and -nodefaultlibs, see Section 4.13 Options for Linking
unresolved references and -nostdlib, see Section 4.13 Options for Linking
unused attribute., see Section 6.26 Declaring Attributes of Functions
used attribute., see Section 6.26 Declaring Attributes of Functions
V in constraint, see Section 6.38.1 Simple Constraints

V

vague linkage, see Section 7.4 Vague Linkage
value after longjmp, see Section 6.40.1 Defining Global Register Variables
variable alignment, see Section 6.32 Inquiring on Alignment of Types or Variables
variable attributes, see Section 6.33 Specifying Attributes of Variables
variable number of arguments, see Section 6.15 Macros with a Variable Number of Arguments.
variable-length array scope, see Section 6.14 Arrays of Variable Length
variable-length arrays, see Section 6.14 Arrays of Variable Length
variables in specified registers, see Section 6.40 Variables in Specified Registers
variables, local, in macros, see Section 6.6 Referring to a Type with typeof
variadic macros, see Section 6.15 Macros with a Variable Number of Arguments.
visibility attribute, see Section 6.26 Declaring Attributes of Functions
VLAs, see Section 6.14 Arrays of Variable Length
void pointers, arithmetic, see Section 6.19 Arithmetic on void- and Function-Pointers
void, size of pointer to, see Section 6.19 Arithmetic on void- and Function-Pointers
volatile access, see Section 7.2 When is a Volatile Object Accessed?
volatile applied to function, see Section 6.26 Declaring Attributes of Functions
volatile read, see Section 7.2 When is a Volatile Object Accessed?
volatile write, see Section 7.2 When is a Volatile Object Accessed?
vprintf, see Section 6.46 Other built-in functions provided by GCC
vscanf, see Section 6.46 Other built-in functions provided by GCC
vsnprintf, see Section 6.46 Other built-in functions provided by GCC
vsprintf, see Section 6.46 Other built-in functions provided by GCC
vsscanf, see Section 6.46 Other built-in functions provided by GCC
vtable, see Section 7.4 Vague Linkage

W

warning for comparison of signed and unsigned values, see Section 4.8 Options to Request or Suppress Warnings
warning for overloaded virtual fn, see Section 4.5 Options Controlling C++ Dialect
warning for reordering of member initializers, see Section 4.5 Options Controlling C++ Dialect
warning for synthesized methods, see Section 4.5 Options Controlling C++ Dialect
warning for unknown pragmas, see Section 4.8 Options to Request or Suppress Warnings
warning messages, see Section 4.8 Options to Request or Suppress Warnings
warnings from system headers, see Section 4.8 Options to Request or Suppress Warnings
warnings vs errors, see Section 11.12 Warning Messages and Error Messages
weak attribute, see Section 6.26 Declaring Attributes of Functions
whitespace, see Section 11.5 Incompatibilities of GCC
X in constraint, see Section 6.38.1 Simple Constraints

X

X3.159-1989, see Chapter 3 Language Standards Supported by GCC
x86-64 Options, see Section 4.17.3 Intel 386 and AMD x86-64 Options

Z

zero-length arrays, see Section 6.12 Arrays of Length Zero
zero-size structures, see Section 6.13 Structures With No Members