GCC
GCC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
*
* in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
+
+ in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
-
-lgcc, use with -nodefaultlibs . . . . . . . . . . 105
-lgcc, use with -nostdlib . . . . . . . . . . . . . . . . 105
-nodefaultlibs and unresolved references. . . 105
-nostdlib and unresolved references . . . . . . . . 105
.
.sdata/.sdata2 references (PowerPC) . . . . . . . . . 174
/
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
<
< in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
=
= in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
>
> in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
?
? in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
?: extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
?: side eect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
_ in variables in macros . . . . . . . . . . . . . . . . . . . . 219
__builtin___fprintf_chk . . . . . . . . . . . . . . . . . . 289
__builtin___memcpy_chk . . . . . . . . . . . . . . . . . . . 289
__builtin___memmove_chk . . . . . . . . . . . . . . . . . . 289
__builtin___mempcpy_chk . . . . . . . . . . . . . . . . . . 289
__builtin___memset_chk . . . . . . . . . . . . . . . . . . . 289
__builtin___printf_chk . . . . . . . . . . . . . . . . . . . 289
__builtin___snprintf_chk . . . . . . . . . . . . . . . . . 289
__builtin___sprintf_chk . . . . . . . . . . . . . . . . . . 289
__builtin___stpcpy_chk . . . . . . . . . . . . . . . . . . . 289
__builtin___strcat_chk . . . . . . . . . . . . . . . . . . . 289
__builtin___strcpy_chk . . . . . . . . . . . . . . . . . . . 289
__builtin___strncat_chk . . . . . . . . . . . . . . . . . . 289
__builtin___strncpy_chk . . . . . . . . . . . . . . . . . . 289
__builtin___vfprintf_chk . . . . . . . . . . . . . . . . . 289
__builtin___vprintf_chk . . . . . . . . . . . . . . . . . . 289
__builtin___vsnprintf_chk . . . . . . . . . . . . . . . . 289
__builtin___vsprintf_chk . . . . . . . . . . . . . . . . . 289
__builtin_apply . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
__builtin_apply_args. . . . . . . . . . . . . . . . . . . . . . 218
__builtin_choose_expr . . . . . . . . . . . . . . . . . . . . 293
__builtin_clz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_clzl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_clzll . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_constant_p. . . . . . . . . . . . . . . . . . . . . . 294
__builtin_ctz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_ctzl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_ctzll . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_expect . . . . . . . . . . . . . . . . . . . . . . . . . . 294
__builtin_ffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_ffsl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_ffsll . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_frame_address . . . . . . . . . . . . . . . . . . 286
__builtin_huge_val. . . . . . . . . . . . . . . . . . . . . . . . 295
__builtin_huge_valf. . . . . . . . . . . . . . . . . . . . . . . 295
456 Using the GNU Compiler Collection (GCC)
__builtin_huge_vall. . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_inf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_inff . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_infl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_isgreater. . . . . . . . . . . . . . . . . . . . . . . 291
__builtin_isgreaterequal . . . . . . . . . . . . . . . . . 291
__builtin_isless . . . . . . . . . . . . . . . . . . . . . . . . . . 291
__builtin_islessequal . . . . . . . . . . . . . . . . . . . . 291
__builtin_islessgreater . . . . . . . . . . . . . . . . . . 291
__builtin_isunordered . . . . . . . . . . . . . . . . . . . . 291
__builtin_nan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_nanf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_nanl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_nans . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_nansf . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_nansl . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
__builtin_object_size . . . . . . . . . . . . . . . . 289, 290
__builtin_offsetof. . . . . . . . . . . . . . . . . . . . . . . . 288
__builtin_parity . . . . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_parityl. . . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_parityll. . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_popcount. . . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_popcountl. . . . . . . . . . . . . . . . . . . . . . . 297
__builtin_popcountll. . . . . . . . . . . . . . . . . . . . . . 297
__builtin_powi. . . . . . . . . . . . . . . . . . . . . . . . 291, 297
__builtin_powif . . . . . . . . . . . . . . . . . . . . . . 291, 297
__builtin_powil . . . . . . . . . . . . . . . . . . . . . . 291, 297
__builtin_prefetch. . . . . . . . . . . . . . . . . . . . . . . . 295
__builtin_return . . . . . . . . . . . . . . . . . . . . . . . . . . 219
__builtin_return_address . . . . . . . . . . . . . . . . . 286
__builtin_types_compatible_p . . . . . . . . . . . . . 293
__complex__ keyword . . . . . . . . . . . . . . . . . . . . . . . 221
__declspec(dllexport) . . . . . . . . . . . . . . . . . . . . 231
__declspec(dllimport) . . . . . . . . . . . . . . . . . . . . 231
__extension__ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
__func__ identier. . . . . . . . . . . . . . . . . . . . . . . . . . 285
__FUNCTION__ identier . . . . . . . . . . . . . . . . . . . . . 285
__imag__ keyword . . . . . . . . . . . . . . . . . . . . . . . . . . 221
__PRETTY_FUNCTION__ identier . . . . . . . . . . . . . . 285
__real__ keyword . . . . . . . . . . . . . . . . . . . . . . . . . . 221
__STDC_HOSTED__ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
__sync_add_and_fetch. . . . . . . . . . . . . . . . . . . . . . 289
__sync_and_and_fetch. . . . . . . . . . . . . . . . . . . . . . 289
__sync_bool_compare_and_swap . . . . . . . . . . . . . 289
__sync_fetch_and_add. . . . . . . . . . . . . . . . . . . . . . 288
__sync_fetch_and_and. . . . . . . . . . . . . . . . . . . . . . 288
__sync_fetch_and_nand . . . . . . . . . . . . . . . . . . . . 288
__sync_fetch_and_or. . . . . . . . . . . . . . . . . . . . . . . 288
__sync_fetch_and_sub. . . . . . . . . . . . . . . . . . . . . . 288
__sync_fetch_and_xor. . . . . . . . . . . . . . . . . . . . . . 288
__sync_lock_release. . . . . . . . . . . . . . . . . . . . . . . 289
__sync_lock_test_and_set . . . . . . . . . . . . . . . . . 289
__sync_nand_and_fetch . . . . . . . . . . . . . . . . . . . . 289
__sync_or_and_fetch. . . . . . . . . . . . . . . . . . . . . . . 289
__sync_sub_and_fetch. . . . . . . . . . . . . . . . . . . . . . 289
__sync_synchronize. . . . . . . . . . . . . . . . . . . . . . . . 289
__sync_val_compare_and_swap . . . . . . . . . . . . . . 289
__sync_xor_and_fetch. . . . . . . . . . . . . . . . . . . . . . 289
thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
_Complex keyword . . . . . . . . . . . . . . . . . . . . . . . . . . 221
_exit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
_Exit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
0
0 in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
A
ABI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
abort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
abs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
accessing volatiles. . . . . . . . . . . . . . . . . . . . . . . . . . . 357
acos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
acosf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
acosh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
acoshf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
acoshl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
acosl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
address constraints. . . . . . . . . . . . . . . . . . . . . . . . . . 266
address of a label . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
address_operand . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
alias attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
aliasing of parameters . . . . . . . . . . . . . . . . . . . . . . . 195
aligned attribute . . . . . . . . . . . . . . . . . . . . . . 247, 252
alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
alloca. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
alloca vs variable-length arrays . . . . . . . . . . . . . 224
Allow nesting in an interrupt handler on the
Blackn processor. . . . . . . . . . . . . . . . . . . . . . . 236
alternate keywords . . . . . . . . . . . . . . . . . . . . . . . . . . 284
always_inline function attribute . . . . . . . . . . . . 230
AMD x86-64 Options . . . . . . . . . . . . . . . . . . . . . . . 139
AMD1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ANSI C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ANSI C standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ANSI C89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ANSI support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
ANSI X3.159-1989 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
apostrophes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
application binary interface. . . . . . . . . . . . . . . . . . 373
ARC Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
ARM [Annotated C++ Reference Manual] . . . . . 366
ARM options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
arrays of length zero . . . . . . . . . . . . . . . . . . . . . . . . 222
arrays of variable length. . . . . . . . . . . . . . . . . . . . . 223
arrays, non-lvalue . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
asin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
asinf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
asinh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
asinhf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
asinhl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
asinl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
asm constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
asm expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Keyword Index 457
assembler instructions . . . . . . . . . . . . . . . . . . . . . . . 258
assembler names for identiers . . . . . . . . . . . . . . . 281
assembly code, invalid. . . . . . . . . . . . . . . . . . . . . . . 403
atan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
atan2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
atan2f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
atan2l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
atanf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
atanh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
atanhf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
atanhl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
atanl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
attribute of types . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
attribute of variables . . . . . . . . . . . . . . . . . . . . . . . . 247
attribute syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
autoincrement/decrement addressing . . . . . . . . . 264
automatic inline for C++ member fns. . . . . . . . 257
AVR Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
B
Backwards Compatibility. . . . . . . . . . . . . . . . . . . . 366
base class members . . . . . . . . . . . . . . . . . . . . . . . . . 393
bcmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
below100 attribute. . . . . . . . . . . . . . . . . . . . . . . . . . 251
binary compatibility . . . . . . . . . . . . . . . . . . . . . . . . 373
Blackn Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
bound pointer to member function . . . . . . . . . . . 363
bounds checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
bug criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
bugs, known. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
built-in functions . . . . . . . . . . . . . . . . . . . . . . . . 23, 291
bzero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
C
C compilation options . . . . . . . . . . . . . . . . . . . . . . . . . 7
C intermediate output, nonexistent. . . . . . . . . . . . . 3
C language extensions. . . . . . . . . . . . . . . . . . . . . . . 213
C language, traditional . . . . . . . . . . . . . . . . . . . . . . . 24
C standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
C standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
c++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
C++ comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
C++ compilation options. . . . . . . . . . . . . . . . . . . . . . . 7
C++ interface and implementation headers . . . . 359
C++ language extensions . . . . . . . . . . . . . . . . . . . . 357
C++ member fns, automatically inline . . . . . . . 257
C++ misunderstandings. . . . . . . . . . . . . . . . . . . . . . 392
C++ options, command line . . . . . . . . . . . . . . . . . . . 25
C++ pragmas, eect on inlining . . . . . . . . . . . . . . 361
C++ source le suxes . . . . . . . . . . . . . . . . . . . . . . . 20
C++ static data, declaring and dening . . . . . . . 392
C_INCLUDE_PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
C89. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
C90. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
C94. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
C95. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
C99. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
C9X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
cabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cabsf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cabsl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cacos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cacosf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cacosh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cacoshf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cacoshl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cacosl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
calling functions through the function vector on
the H8/300 processors . . . . . . . . . . . . . . . . . . 234
calloc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
carg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cargf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cargl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
case labels in initializers . . . . . . . . . . . . . . . . . . . . . 227
case ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
casin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
casinf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
casinh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
casinhf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
casinhl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
casinl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cast to a union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
catan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
catanf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
catanh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
catanhf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
catanhl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
catanl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cbrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cbrtf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cbrtl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ccos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ccosf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ccosh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ccoshf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ccoshl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ccosl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ceil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ceilf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ceill. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cexp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cexpf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cexpl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
character set, execution . . . . . . . . . . . . . . . . . . . . . 101
character set, input . . . . . . . . . . . . . . . . . . . . . . . . . 101
character set, input normalization. . . . . . . . . . . . . 50
character set, wide execution . . . . . . . . . . . . . . . . 101
cimag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cimagf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cimagl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cleanup attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . 248
clog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
458 Using the GNU Compiler Collection (GCC)
clogf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
clogl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
COBOL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
code generation conventions . . . . . . . . . . . . . . . . . 190
code, mixed with declarations. . . . . . . . . . . . . . . . 229
command options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
comments, C++ style . . . . . . . . . . . . . . . . . . . . . . . . 246
common attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
comparison of signed and unsigned values, warning
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
compiler bugs, reporting . . . . . . . . . . . . . . . . . . . . 403
compiler compared to C++ preprocessor. . . . . . . . . 3
compiler options, C++ . . . . . . . . . . . . . . . . . . . . . . . . 25
compiler options, Objective-C and Objective-C++
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
compiler version, specifying. . . . . . . . . . . . . . . . . . 115
COMPILER_PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
complex conjugation . . . . . . . . . . . . . . . . . . . . . . . . 221
complex numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
compound literals. . . . . . . . . . . . . . . . . . . . . . . . . . . 226
computed gotos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
conditional expressions, extensions . . . . . . . . . . . 220
conicting types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
conj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
conjf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
conjl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
const applied to function . . . . . . . . . . . . . . . . . . . 229
const function attribute. . . . . . . . . . . . . . . . . . . . . 230
constants in constraints . . . . . . . . . . . . . . . . . . . . . 265
constraint modier characters. . . . . . . . . . . . . . . . 267
constraint, matching . . . . . . . . . . . . . . . . . . . . . . . . 266
constraints, asm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
constraints, machine specic . . . . . . . . . . . . . . . . . 267
constructing calls . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
constructor expressions. . . . . . . . . . . . . . . . . . . . . . 226
constructor function attribute . . . . . . . . . . . . . . 230
contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
copysign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
copysignf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
copysignl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
core dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cosf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
coshf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
coshl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cosl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
CPATH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
CPLUS_INCLUDE_PATH. . . . . . . . . . . . . . . . . . . . . . . . 198
cpow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cpowf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cpowl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cproj. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cprojf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
cprojl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
creal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
crealf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
creall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
CRIS Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
cross compiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
CRX Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
csin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
csinf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
csinh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
csinhf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
csinhl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
csinl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
csqrt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
csqrtf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
csqrtl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ctan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ctanf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ctanh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ctanhf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ctanhl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ctanl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
D
Darwin options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
dcgettext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
deallocating variable length arrays . . . . . . . . . . . 224
debugging information options . . . . . . . . . . . . . . . . 53
declaration scope . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
declarations inside expressions . . . . . . . . . . . . . . . 213
declarations, mixed with code. . . . . . . . . . . . . . . . 229
declaring attributes of functions . . . . . . . . . . . . . 229
declaring static data in C++ . . . . . . . . . . . . . . . . . 392
dening static data in C++ . . . . . . . . . . . . . . . . . . 392
dependencies for make as output . . . . . . . . . . . . . 199
dependencies, make . . . . . . . . . . . . . . . . . . . . . . . . . . 96
DEPENDENCIES_OUTPUT. . . . . . . . . . . . . . . . . . . . . . . 199
dependent name lookup . . . . . . . . . . . . . . . . . . . . . 393
deprecated attribute . . . . . . . . . . . . . . . . . . . . . . . 248
deprecated attribute. . . . . . . . . . . . . . . . . . . . . . . . 231
designated initializers . . . . . . . . . . . . . . . . . . . . . . . 227
designator lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
designators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
destructor function attribute . . . . . . . . . . . . . . . 230
dgettext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
diagnostic messages . . . . . . . . . . . . . . . . . . . . . . . . . . 36
dialect options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
digits in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . 265
directory options . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
dollar signs in identier names . . . . . . . . . . . . . . . 246
double-word arithmetic. . . . . . . . . . . . . . . . . . . . . . 221
downward funargs . . . . . . . . . . . . . . . . . . . . . . . . . . 216
drem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
dremf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
dreml. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
E
E in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
earlyclobber operand. . . . . . . . . . . . . . . . . . . . . . . . 267
Keyword Index 459
eight bit data on the H8/300, H8/300H, and H8S
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
empty structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
environment variables . . . . . . . . . . . . . . . . . . . . . . . 196
erf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
erfc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
erfcf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
erfcl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
erff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
erfl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
escaped newlines. . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
exception handler functions on the Blackn
processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
exclamation point. . . . . . . . . . . . . . . . . . . . . . . . . . . 266
exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
exp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
exp10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
exp10f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
exp10l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
exp2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
exp2f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
exp2l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
expf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
expl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
explicit register variables . . . . . . . . . . . . . . . . . . . . 282
expm1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
expm1f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
expm1l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
expressions containing statements . . . . . . . . . . . . 213
expressions, constructor . . . . . . . . . . . . . . . . . . . . . 226
extended asm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
extensible constraints . . . . . . . . . . . . . . . . . . . . . . . 266
extensions, ?: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
extensions, C language . . . . . . . . . . . . . . . . . . . . . . 213
extensions, C++ language . . . . . . . . . . . . . . . . . . . . 357
external declaration scope . . . . . . . . . . . . . . . . . . . 388
externally_visible attribute. . . . . . . . . . . . . . . 241
F
F in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
fabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fabsf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fabsl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fatal signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
fdim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fdimf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fdiml. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
FDL, GNU Free Documentation License . . . . . . 419
ffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
le name sux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
le names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
flatten function attribute . . . . . . . . . . . . . . . . . . 230
exible array members . . . . . . . . . . . . . . . . . . . . . . 222
float as function value type. . . . . . . . . . . . . . . . . 389
oating point precision . . . . . . . . . . . . . . . . . . 81, 392
floor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
floorf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
floorl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmaxf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmaxl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fminf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fminl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmodf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fmodl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
format function attribute . . . . . . . . . . . . . . . . . . . 233
format_arg function attribute . . . . . . . . . . . . . . . 233
Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
forwarding calls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
fprintf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fprintf_unlocked . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fputs_unlocked . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
freestanding environment . . . . . . . . . . . . . . . . . . . . . . 5
freestanding implementation . . . . . . . . . . . . . . . . . . . 5
frexp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
frexpf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
frexpl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
FRV Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
fscanf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
fscanf, and constant strings. . . . . . . . . . . . . . . . . 388
function addressability on the M32R/D. . . . . . . 235
function attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 229
function pointers, arithmetic. . . . . . . . . . . . . . . . . 226
function prototype declarations . . . . . . . . . . . . . . 245
function without a prologue/epilogue code . . . . 236
function, size of pointer to. . . . . . . . . . . . . . . . . . . 226
functions called via pointer on the RS/6000 and
PowerPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
functions in arbitrary sections . . . . . . . . . . . . . . . 229
functions that are passed arguments in registers on
the 386. . . . . . . . . . . . . . . . . . . . . . . . . . . . 229, 238
functions that behave like malloc . . . . . . . . . . . . 229
functions that do not pop the argument stack on
the 386 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
functions that do pop the argument stack on the
386. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
functions that have no side eects . . . . . . . . . . . . 229
functions that never return . . . . . . . . . . . . . . . . . . 229
functions that pop the argument stack on the 386
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229, 233, 239
functions that return more than once. . . . . . . . . 229
functions which do not handle memory bank
switching on 68HC11/68HC12 . . . . . . . . . . . 236
functions which handle memory bank switching
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
functions with non-null pointer arguments . . . . 229
functions with printf, scanf, strftime or
strfmon style arguments . . . . . . . . . . . . . . . . 229
460 Using the GNU Compiler Collection (GCC)
G
g in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
G in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
g++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
G++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
gamma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
gammaf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
gammal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
GCC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
GCC command options . . . . . . . . . . . . . . . . . . . . . . . 7
GCC_EXEC_PREFIX . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
gcc_struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
gcc_struct attribute . . . . . . . . . . . . . . . . . . . . . . . 251
gcov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
gettext. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
global oset table . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
global register after longjmp . . . . . . . . . . . . . . . . . 283
global register variables . . . . . . . . . . . . . . . . . . . . . 282
GNAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
GNU C Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
GNU Compiler Collection . . . . . . . . . . . . . . . . . . . . . 3
goto with computed label . . . . . . . . . . . . . . . . . . . 215
gp-relative references (MIPS) . . . . . . . . . . . . . . . . 157
gprof. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
grouping options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
H
H in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
hardware models and congurations, specifying
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
hex oats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
hosted environment . . . . . . . . . . . . . . . . . . . . . . . . 5, 23
hosted implementation . . . . . . . . . . . . . . . . . . . . . . . . 5
HPPA Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
hypot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
hypotf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
hypotl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
I
i in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
I in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
i386 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
IA-64 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
IBM RS/6000 and PowerPC Options . . . . . . . . . 164
identier names, dollar signs in . . . . . . . . . . . . . . 246
identiers, names in assembler code . . . . . . . . . . 281
ilogb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ilogbf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ilogbl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
imaxabs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
implementation-dened behavior, C language
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
implied #pragma implementation . . . . . . . . . . . . 360
incompatibilities of GCC. . . . . . . . . . . . . . . . . . . . 387
increment operators . . . . . . . . . . . . . . . . . . . . . . . . . 403
index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
indirect calls on ARM. . . . . . . . . . . . . . . . . . . . . . . 235
indirect calls on MIPS . . . . . . . . . . . . . . . . . . . . . . 235
init priority attribute . . . . . . . . . . . . . . . . . . . . . . . 363
initializations in expressions . . . . . . . . . . . . . . . . . 226
initializers with labeled elements . . . . . . . . . . . . . 227
initializers, non-constant . . . . . . . . . . . . . . . . . . . . 226
inline automatic for C++ member fns. . . . . . . . 257
inline functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
inline functions, omission of . . . . . . . . . . . . . . . . . 257
inlining and C++ pragmas . . . . . . . . . . . . . . . . . . . 361
installation trouble . . . . . . . . . . . . . . . . . . . . . . . . . 385
integrating function code . . . . . . . . . . . . . . . . . . . . 256
Intel 386 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
interface and implementation headers, C++ . . . 359
intermediate C version, nonexistent . . . . . . . . . . . . 3
interrupt handler functions . . . . . . . . . . . . . . . . . . 234
interrupt handler functions on the Blackn, m68k,
H8/300 and SH processors . . . . . . . . . . . . . . 235
introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
invalid assembly code . . . . . . . . . . . . . . . . . . . . . . . 403
invalid input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
invoking g++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
isalnum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
isalpha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
isascii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
isblank. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iscntrl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
isdigit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
isgraph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
islower. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ISO 9899. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ISO C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ISO C standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ISO C90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ISO C94 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ISO C95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ISO C99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ISO C9X. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ISO support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
ISO/IEC 9899 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
isprint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ispunct. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
isspace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
isupper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswalnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswalpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswblank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswcntrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswdigit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswlower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswpunct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswupper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
iswxdigit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
isxdigit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Keyword Index 461
J
j0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
j0f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
j0l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
j1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
j1f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
j1l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
java interface attribute. . . . . . . . . . . . . . . . . . . . . . 364
jn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
jnf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
jnl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
K
keywords, alternate . . . . . . . . . . . . . . . . . . . . . . . . . 284
known causes of trouble . . . . . . . . . . . . . . . . . . . . . 385
L
labeled elements in initializers . . . . . . . . . . . . . . . 227
labels as values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
labs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
LANG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197, 198
language dialect options . . . . . . . . . . . . . . . . . . . . . . 21
LC_ALL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
LC_CTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
LC_MESSAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
ldexp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ldexpf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ldexpl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
length-zero arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . 222
lgamma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
lgammaf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
lgammal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
LIBRARY_PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
link options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
LL integer sux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
llabs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
llrint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
llrintf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
llrintl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
llround. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
llroundf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
llroundl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
load address instruction . . . . . . . . . . . . . . . . . . . . . 266
local labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
local variables in macros . . . . . . . . . . . . . . . . . . . . 219
local variables, specifying registers . . . . . . . . . . . 283
locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
locale denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log10f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log10l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log1p. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log1pf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log1pl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log2f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
log2l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
logb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
logbf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
logbl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
logf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
logl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
long long data types . . . . . . . . . . . . . . . . . . . . . . . 221
longjmp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
longjmp incompatibilities. . . . . . . . . . . . . . . . . . . . 388
longjmp warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
lrint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
lrintf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
lrintl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
lround. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
lroundf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
lroundl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
M
m in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
M32C options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
M32R/D options . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
M680x0 options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
M68hc1x options . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
machine dependent options . . . . . . . . . . . . . . . . . . 116
machine specic constraints . . . . . . . . . . . . . . . . . 267
macro with variable arguments . . . . . . . . . . . . . . 224
macros containing asm . . . . . . . . . . . . . . . . . . . . . . 261
macros, inline alternative . . . . . . . . . . . . . . . . . . . . 256
macros, local labels . . . . . . . . . . . . . . . . . . . . . . . . . 214
macros, local variables in. . . . . . . . . . . . . . . . . . . . 219
macros, statements in expressions . . . . . . . . . . . . 213
macros, types of arguments . . . . . . . . . . . . . . . . . . 219
make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
malloc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
malloc attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
matching constraint . . . . . . . . . . . . . . . . . . . . . . . . . 266
MCore options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
member fns, automatically inline . . . . . . . . . . . 257
memcmp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
memcpy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
memory references in constraints . . . . . . . . . . . . . 264
mempcpy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
memset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Mercury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
message formatting . . . . . . . . . . . . . . . . . . . . . . . . . . 36
messages, warning . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
messages, warning and error . . . . . . . . . . . . . . . . . 400
middle-operands, omitted . . . . . . . . . . . . . . . . . . . 220
MIPS options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
misunderstandings in C++ . . . . . . . . . . . . . . . . . . . 392
mixed declarations and code . . . . . . . . . . . . . . . . . 229
mktemp, and constant strings. . . . . . . . . . . . . . . . . 387
MMIX Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
MN10300 options . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
462 Using the GNU Compiler Collection (GCC)
mode attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
modf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
modff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
modfl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
modiers in constraints . . . . . . . . . . . . . . . . . . . . . 267
ms_struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
ms_struct attribute . . . . . . . . . . . . . . . . . . . . . . . . 251
MT options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
mudap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
multiple alternative constraints . . . . . . . . . . . . . . 266
multiprecision arithmetic . . . . . . . . . . . . . . . . . . . . 221
N
n in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
names used in assembler code. . . . . . . . . . . . . . . . 281
naming convention, implementation headers . . 360
nearbyint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
nearbyintf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
nearbyintl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
nested functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
newlines (escaped) . . . . . . . . . . . . . . . . . . . . . . . . . . 225
nextafter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
nextafterf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
nextafterl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
nexttoward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
nexttowardf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
nexttowardl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
NFC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
NFKC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
NMI handler functions on the Blackn processor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
no_instrument_function function attribute . . 236
nocommon attribute. . . . . . . . . . . . . . . . . . . . . . . . . . 248
noinline function attribute . . . . . . . . . . . . . . . . . 236
non-constant initializers . . . . . . . . . . . . . . . . . . . . . 226
non-static inline function . . . . . . . . . . . . . . . . . . . . 257
nonnull function attribute . . . . . . . . . . . . . . . . . . 236
noreturn function attribute . . . . . . . . . . . . . . . . . 237
nothrow function attribute . . . . . . . . . . . . . . . . . . 237
O
o in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
OBJC_INCLUDE_PATH. . . . . . . . . . . . . . . . . . . . . . . . . 198
Objective-C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3, 6
Objective-C and Objective-C++ options, command
line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Objective-C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3, 6
osettable address . . . . . . . . . . . . . . . . . . . . . . . . . . 264
old-style function denitions . . . . . . . . . . . . . . . . . 245
omitted middle-operands . . . . . . . . . . . . . . . . . . . . 220
open coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
operand constraints, asm . . . . . . . . . . . . . . . . . . . . 264
optimize options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
options to control diagnostics formatting . . . . . . 36
options to control warnings . . . . . . . . . . . . . . . . . . . 36
options, C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
options, code generation. . . . . . . . . . . . . . . . . . . . . 190
options, debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
options, dialect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
options, directory search . . . . . . . . . . . . . . . . . . . . 107
options, GCC command . . . . . . . . . . . . . . . . . . . . . . . 7
options, grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
options, linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
options, Objective-C and Objective-C++ . . . . . . . 32
options, optimization. . . . . . . . . . . . . . . . . . . . . . . . . 65
options, order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
options, preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . 94
order of evaluation, side eects . . . . . . . . . . . . . . 400
order of options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
other register constraints . . . . . . . . . . . . . . . . . . . . 266
output le option . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
overloaded virtual fn, warning . . . . . . . . . . . . . . . . 31
P
p in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
packed attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
parameter forward declaration . . . . . . . . . . . . . . . 224
parameters, aliased . . . . . . . . . . . . . . . . . . . . . . . . . 195
Pascal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
PDP-11 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
pmf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
pointer arguments . . . . . . . . . . . . . . . . . . . . . . . . . . 230
pointer to member function. . . . . . . . . . . . . . . . . . 363
portions of temporary objects, pointers to . . . . 394
pow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
pow10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
pow10f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
pow10l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
PowerPC options . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
powf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
powl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
pragma, align . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
pragma, extern prex . . . . . . . . . . . . . . . . . . . . . . . 351
pragma, ni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
pragma, init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
pragma, long calls . . . . . . . . . . . . . . . . . . . . . . . . . . 350
pragma, long calls o. . . . . . . . . . . . . . . . . . . . . . . 350
pragma, longcall . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
pragma, mark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
pragma, memregs . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
pragma, no long calls . . . . . . . . . . . . . . . . . . . . . . . 350
pragma, options align . . . . . . . . . . . . . . . . . . . . . . . 350
pragma, reason for not using . . . . . . . . . . . . . . . . 241
pragma, redene extname . . . . . . . . . . . . . . . . . . . 351
pragma, segment . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
pragma, unused . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
pragma, weak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
pragmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
pragmas in C++, eect on inlining. . . . . . . . . . . . 361
pragmas, interface and implementation . . . . . . . 359
pragmas, warning of unknown . . . . . . . . . . . . . . . . 44
precompiled headers . . . . . . . . . . . . . . . . . . . . . . . . 199
Keyword Index 463
preprocessing numbers . . . . . . . . . . . . . . . . . . . . . . 390
preprocessing tokens . . . . . . . . . . . . . . . . . . . . . . . . 390
preprocessor options . . . . . . . . . . . . . . . . . . . . . . . . . 94
printf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
printf_unlocked . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
prof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
promotion of formal parameters. . . . . . . . . . . . . . 245
pure function attribute. . . . . . . . . . . . . . . . . . . . . . 237
push address instruction. . . . . . . . . . . . . . . . . . . . . 266
putchar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
puts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Q
qsort, and global register variables . . . . . . . . . . 282
question mark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
R
r in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
ranges in case statements. . . . . . . . . . . . . . . . . . . . 228
read-only strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
register variable after longjmp . . . . . . . . . . . . . . . 283
registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
registers for local variables . . . . . . . . . . . . . . . . . . 283
registers in constraints . . . . . . . . . . . . . . . . . . . . . . 265
registers, global allocation . . . . . . . . . . . . . . . . . . . 282
registers, global variables in . . . . . . . . . . . . . . . . . 282
regparm attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . 238
relocation truncated to t (MIPS) . . . . . . . . . . . 156
remainder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
remainderf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
remainderl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
remquo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
remquof. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
remquol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
reordering, warning . . . . . . . . . . . . . . . . . . . . . . . . . . 30
reporting bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
rest argument (in macro) . . . . . . . . . . . . . . . . . . . . 224
restricted pointers . . . . . . . . . . . . . . . . . . . . . . . . . . 358
restricted references . . . . . . . . . . . . . . . . . . . . . . . . . 358
restricted this pointer . . . . . . . . . . . . . . . . . . . . . . . 358
returns_twice attribute . . . . . . . . . . . . . . . . . . . . 238
rindex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
rint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
rintf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
rintl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
round. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
roundf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
roundl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
RS/6000 and PowerPC Options . . . . . . . . . . . . . . 164
RTTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
run-time options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
S
s in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
S/390 and zSeries Options . . . . . . . . . . . . . . . . . . . 174
save all registers on the Blackn, H8/300,
H8/300H, and H8S . . . . . . . . . . . . . . . . . . . . . 238
scalb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
scalbf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
scalbl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
scalbln. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
scalblnf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
scalbn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
scalbnf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
scanf, and constant strings . . . . . . . . . . . . . . . . . . 388
scanfnl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
scope of a variable length array . . . . . . . . . . . . . . 224
scope of declaration. . . . . . . . . . . . . . . . . . . . . . . . . 391
scope of external declarations . . . . . . . . . . . . . . . . 388
search path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
section function attribute . . . . . . . . . . . . . . . . . . 238
section variable attribute. . . . . . . . . . . . . . . . . . . 249
sentinel function attribute . . . . . . . . . . . . . . . . . 239
setjmp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
setjmp incompatibilities . . . . . . . . . . . . . . . . . . . . . 388
shared strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
shared variable attribute . . . . . . . . . . . . . . . . . . . . 249
side eect in ?: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
side eects, macro argument . . . . . . . . . . . . . . . . . 213
side eects, order of evaluation . . . . . . . . . . . . . . 400
signal handler functions on the AVR processors
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
signbit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
signbitf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
signbitl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
signed and unsigned values, comparison warning
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
significand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
significandf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
significandl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
simple constraints . . . . . . . . . . . . . . . . . . . . . . . . . . 264
sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sincos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sincosf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sincosl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sinf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sinh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sinhf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sinhl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sinl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sizeof. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
smaller data references . . . . . . . . . . . . . . . . . . . . . . 150
smaller data references (MIPS) . . . . . . . . . . . . . . 157
smaller data references (PowerPC) . . . . . . . . . . . 174
snprintf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
SPARC options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Spec Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
specied registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
specifying compiler version and target machine
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
specifying hardware cong. . . . . . . . . . . . . . . . . . . 116
specifying machine version. . . . . . . . . . . . . . . . . . . 115
specifying registers for local variables. . . . . . . . . 283
464 Using the GNU Compiler Collection (GCC)
speed of compilation . . . . . . . . . . . . . . . . . . . . . . . . 199
sprintf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sqrtf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sqrtl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sscanf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
sscanf, and constant strings. . . . . . . . . . . . . . . . . 388
sseregparm attribute . . . . . . . . . . . . . . . . . . . . . . . 238
statements inside expressions . . . . . . . . . . . . . . . . 213
static data in C++, declaring and dening. . . . . 392
stpcpy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
stpncpy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strcasecmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strcat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strchr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strcmp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strcpy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strcspn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strdup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strfmon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strftime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
string constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
strlen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strncasecmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strncat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strncmp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strncpy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strndup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strpbrk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strrchr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strspn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
strstr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
structures, constructor expression . . . . . . . . . . . . 226
submodel options . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
subscripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
subscripting and function values . . . . . . . . . . . . . 225
suxes for C++ source . . . . . . . . . . . . . . . . . . . . . . . 20
SUNPRO_DEPENDENCIES. . . . . . . . . . . . . . . . . . . . . . . 199
suppressing warnings . . . . . . . . . . . . . . . . . . . . . . . . . 36
surprises in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
syntax checking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
system headers, warnings from. . . . . . . . . . . . . . . . 46
T
tan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
tanf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
tanhf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
tanhl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
tanl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
target machine, specifying . . . . . . . . . . . . . . . . . . . 115
target options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
TC1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
TC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Technical Corrigenda. . . . . . . . . . . . . . . . . . . . . . . . . . 5
Technical Corrigendum 1 . . . . . . . . . . . . . . . . . . . . . . 5
Technical Corrigendum 2 . . . . . . . . . . . . . . . . . . . . . . 5
template instantiation. . . . . . . . . . . . . . . . . . . . . . . 361
temporaries, lifetime of . . . . . . . . . . . . . . . . . . . . . . 394
tgamma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
tgammaf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
tgammal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Thread-Local Storage . . . . . . . . . . . . . . . . . . . . . . . 353
thunks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
tiny data section on the H8/300H and H8S . . . 239
TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
tls_model attribute . . . . . . . . . . . . . . . . . . . . . . . . 250
TMPDIR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
TMS320C3x/C4x Options . . . . . . . . . . . . . . . . . . . 185
toascii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
tolower. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
toupper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
towlower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
towupper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
traditional C language . . . . . . . . . . . . . . . . . . . . . . . 24
treelang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3, 6
trunc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
truncf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
truncl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
two-stage name lookup. . . . . . . . . . . . . . . . . . . . . . 393
type alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
type attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
type info. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
typedef names as function parameters . . . . . . . . 389
typeof. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
U
ULL integer sux . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Ultrix calling convention . . . . . . . . . . . . . . . . . . . . 387
undened behavior. . . . . . . . . . . . . . . . . . . . . . . . . . 403
undened function value . . . . . . . . . . . . . . . . . . . . 403
underscores in variables in macros. . . . . . . . . . . . 219
union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
union, casting to a . . . . . . . . . . . . . . . . . . . . . . . . . . 228
unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
unknown pragmas, warning. . . . . . . . . . . . . . . . . . . 44
unresolved references and -nodefaultlibs . . . 105
unresolved references and -nostdlib . . . . . . . . 105
unused attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
used attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
User stack pointer in interrupts on the Blackn
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
V
V in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
V850 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
vague linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
value after longjmp . . . . . . . . . . . . . . . . . . . . . . . . . 283
variable addressability on the IA-64 . . . . . . . . . . 235
variable addressability on the M32R/D. . . . . . . 251
variable alignment . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Keyword Index 465
variable attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 247
variable number of arguments . . . . . . . . . . . . . . . 224
variable-length array scope . . . . . . . . . . . . . . . . . . 224
variable-length arrays . . . . . . . . . . . . . . . . . . . . . . . 223
variables in specied registers . . . . . . . . . . . . . . . . 282
variables, local, in macros . . . . . . . . . . . . . . . . . . . 219
variadic macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
VAX calling convention . . . . . . . . . . . . . . . . . . . . . 387
VAX options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
vfprintf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
vfscanf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
visibility attribute . . . . . . . . . . . . . . . . . . . . . . . 240
VLAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
void pointers, arithmetic . . . . . . . . . . . . . . . . . . . . 226
void, size of pointer to . . . . . . . . . . . . . . . . . . . . . . 226
volatile access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
volatile applied to function . . . . . . . . . . . . . . . . 229
volatile read. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
volatile write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
vprintf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
vscanf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
vsnprintf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
vsprintf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
vsscanf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
vtable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
W
warn_unused_result attribute . . . . . . . . . . . . . . . 240
warning for comparison of signed and unsigned
values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
warning for overloaded virtual fn. . . . . . . . . . . . . . 31
warning for reordering of member initializers . . . 30
warning for unknown pragmas . . . . . . . . . . . . . . . . 44
warning messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
warnings from system headers . . . . . . . . . . . . . . . . 46
warnings vs errors . . . . . . . . . . . . . . . . . . . . . . . . . . 400
weak attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
weakref attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . 241
whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
X
X in constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
X3.159-1989 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
x86-64 options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
x86-64 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Xstormy16 Options . . . . . . . . . . . . . . . . . . . . . . . . . 188
Xtensa Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Y
y0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
y0f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
y0l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
y1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
y1f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
y1l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
yn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ynf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ynl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Z
zero-length arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . 222
zero-size structures . . . . . . . . . . . . . . . . . . . . . . . . . 223
zSeries options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
466 Using the GNU Compiler Collection (GCC)