--- gcc/cpplib.h.orig Mon Feb 9 13:23:51 2004 +++ gcc/cpplib.h Thu Apr 29 12:24:10 2004 @@ -630,6 +630,7 @@ #define CPP_N_DECIMAL 0x0100 #define CPP_N_HEX 0x0200 #define CPP_N_OCTAL 0x0400 +#define CPP_N_BINARY 0x0800 #define CPP_N_UNSIGNED 0x1000 /* Properties. */ #define CPP_N_IMAGINARY 0x2000 --- gcc/cppexp.c.orig Thu Feb 12 00:52:56 2004 +++ gcc/cppexp.c Thu Apr 29 12:29:40 2004 @@ -22,6 +22,9 @@ #include "system.h" #include "cpplib.h" #include "cpphash.h" +#include "flags.h" +#include "coretypes.h" +#include "toplev.h" #define PART_PRECISION (sizeof (cpp_num_part) * CHAR_BIT) #define HALF_MASK (~(cpp_num_part) 0 >> (PART_PRECISION / 2)) @@ -75,6 +78,9 @@ #define SYNTAX_ERROR2(msgid, arg) \ do { cpp_error (pfile, CPP_DL_ERROR, msgid, arg); goto syntax_error; } \ while(0) +#define SYNTAX_ERROR3(msgid, arg1, arg2) \ + do { cpp_error (pfile, CPP_DL_ERROR, msgid, arg1, arg2); goto syntax_error; } \ + while(0) /* Subroutine of cpp_classify_number. S points to a float suffix of length LEN, possibly zero. Returns 0 for an invalid suffix, or a @@ -171,6 +177,11 @@ radix = 16; str++; } + else if ((*str == 'b' || *str == 'B') && (str[1] == '0' || str[1] == '1')) + { + radix = 2; + str++; + } } /* Now scan for a well-formed integer or float. */ @@ -209,7 +220,8 @@ radix = 10; if (max_digit >= radix) - SYNTAX_ERROR2 ("invalid digit \"%c\" in octal constant", '0' + max_digit); + SYNTAX_ERROR3 ("invalid digit \"%c\" in %s constant", '0' + max_digit, + radix == 2? "binary": "octal"); if (float_flag != NOT_FLOAT) { @@ -288,11 +300,16 @@ if ((result & CPP_N_IMAGINARY) && CPP_PEDANTIC (pfile)) cpp_error (pfile, CPP_DL_PEDWARN, "imaginary constants are a GCC extension"); + if (radix == 2 && CPP_PEDANTIC (pfile)) + cpp_error (pfile, CPP_DL_PEDWARN, + "binary constants are a GCC extension"); if (radix == 10) result |= CPP_N_DECIMAL; else if (radix == 16) result |= CPP_N_HEX; + else if (radix == 2) + result |= CPP_N_BINARY; else result |= CPP_N_OCTAL; @@ -341,6 +358,11 @@ else if ((type & CPP_N_RADIX) == CPP_N_HEX) { base = 16; + p += 2; + } + else if ((type & CPP_N_RADIX) == CPP_N_BINARY) + { + base = 2; p += 2; } --- gcc/doc/extend.texi.orig Wed Jun 9 20:31:59 2004 +++ gcc/doc/extend.texi Wed Jul 7 20:51:58 2004 @@ -475,6 +475,7 @@ * Pragmas:: Pragmas accepted by GCC. * Unnamed Fields:: Unnamed struct/union fields within structs/unions. * Thread-Local:: Per-thread variables. +* Binary constants:: Binary constants using the `0b' prefix. @end menu @node Statement Exprs @@ -7648,6 +7649,26 @@ Non-@code{static} members shall not be @code{__thread}. @end quotation @end itemize + +@node Binary constants +@section Binary constants using the `0b' prefix +@cindex Binary constants using the `0b' prefix + +@emph{Note:} This is currently a private extension of AVR-GCC. + +Integer constants can be written as binary constants, consisting of a +sequence of `0' and `1' digits, prefixed by `0b'. This is +particularly useful in environments that operate a lot on the +bit-level (like microcontrollers). + +The following statements are identical: + +@smallexample +i = 42; +i = 0x2a; +i = 052; +i = 0b101010; +@end smallexample @node C++ Extensions @chapter Extensions to the C++ Language --- gcc/doc/gcc.info.orig Thu Jul 1 21:18:12 2004 +++ gcc/doc/gcc.info Wed Jul 7 21:04:12 2004 @@ -1,5 +1,5 @@ This is doc/gcc.info, produced by makeinfo version 4.6 from -/home/mitchell/gcc-3.4.1/gcc-3.4.1/gcc/doc/gcc.texi. +doc/gcc.texi. Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. @@ -11510,6 +11510,7 @@ * Pragmas:: Pragmas accepted by GCC. * Unnamed Fields:: Unnamed struct/union fields within structs/unions. * Thread-Local:: Per-thread variables. +* Binary constants:: Binary constants using the `0b' prefix.  File: gcc.info, Node: Statement Exprs, Next: Local Labels, Up: C Extensions @@ -18768,7 +18769,7 @@ constructs may be detected and treated as compilation errors.  -File: gcc.info, Node: Thread-Local, Prev: Unnamed Fields, Up: C Extensions +File: gcc.info, Node: Thread-Local, Next: Binary constants, Prev: Unnamed Fields, Up: C Extensions Thread-Local Storage ==================== @@ -18986,6 +18987,26 @@ Non-`static' members shall not be `__thread'.  +File: gcc.info, Node: Binary constants, Prev: Thread-Local, Up: C Extensions + +Binary constants using the `0b' prefix +====================================== + +_Note:_ This is currently a private extension of AVR-GCC. + + Integer constants can be written as binary constants, consisting of a +sequence of `0' and `1' digits, prefixed by `0b'. This is particularly +useful in environments that operate a lot on the bit-level (like +microcontrollers). + + The following statements are identical: + + i = 42; + i = 0x2a; + i = 052; + i = 0b101010; + + File: gcc.info, Node: C++ Extensions, Next: Objective-C, Prev: C Extensions, Up: Top Extensions to the C++ Language @@ -23875,23 +23896,23 @@ * A: Preprocessor Options. * all_load: Darwin Options. * allowable_client: Darwin Options. -* ansi <1>: Non-bugs. +* ansi <1>: Preprocessor Options. * ansi <2>: Other Builtins. -* ansi <3>: Preprocessor Options. +* ansi <3>: Standards. * ansi <4>: C Dialect Options. -* ansi: Standards. +* ansi: Non-bugs. * arch_errors_fatal: Darwin Options. * arch_only: Darwin Options. * aux-info: C Dialect Options. -* b: Target Options. * B: Directory Options. +* b: Target Options. * bcopy-builtin: PDP-11 Options. * bind_at_load: Darwin Options. * bundle: Darwin Options. * bundle_loader: Darwin Options. -* c: Link Options. -* C: Preprocessor Options. +* c <1>: Link Options. * c: Overall Options. +* C: Preprocessor Options. * client_name: Darwin Options. * compatibility_version: Darwin Options. * crossjumping: Optimize Options. @@ -23900,13 +23921,13 @@ * d: Debugging Options. * da: Debugging Options. * dA: Debugging Options. -* dB: Debugging Options. * db: Debugging Options. +* dB: Debugging Options. * dC: Debugging Options. * dc: Debugging Options. +* dd: Debugging Options. * dD <1>: Preprocessor Options. * dD: Debugging Options. -* dd: Debugging Options. * dE: Debugging Options. * dependency-file: Darwin Options. * dF: Debugging Options. @@ -23915,27 +23936,27 @@ * dg: Debugging Options. * dH: Debugging Options. * dh: Debugging Options. -* dI: Preprocessor Options. * di: Debugging Options. +* dI: Preprocessor Options. * dj: Debugging Options. * dk: Debugging Options. * dL: Debugging Options. * dl: Debugging Options. -* dM: Preprocessor Options. * dm: Debugging Options. -* dM: Debugging Options. -* dN <1>: Preprocessor Options. -* dN: Debugging Options. +* dM <1>: Debugging Options. +* dM: Preprocessor Options. * dn: Debugging Options. +* dN <1>: Debugging Options. +* dN: Preprocessor Options. * do: Debugging Options. * dP: Debugging Options. * dp: Debugging Options. * dR: Debugging Options. * dr: Debugging Options. -* dS: Debugging Options. * ds: Debugging Options. -* dT: Debugging Options. +* dS: Debugging Options. * dt: Debugging Options. +* dT: Debugging Options. * dU: Debugging Options. * du: Debugging Options. * dumpmachine: Debugging Options. @@ -23950,14 +23971,14 @@ * dylinker_install_name: Darwin Options. * dynamic: Darwin Options. * dynamiclib: Darwin Options. -* dZ: Debugging Options. * dz: Debugging Options. -* E <1>: Link Options. -* E: Overall Options. -* EB <1>: ARC Options. -* EB: MIPS Options. -* EL <1>: ARC Options. -* EL: MIPS Options. +* dZ: Debugging Options. +* E <1>: Overall Options. +* E: Link Options. +* EB <1>: MIPS Options. +* EB: ARC Options. +* EL <1>: MIPS Options. +* EL: ARC Options. * exported_symbols_list: Darwin Options. * fabi-version: C++ Dialect Options. * falign-functions: Optimize Options. @@ -24007,8 +24028,8 @@ * fforce-addr: Optimize Options. * fforce-mem: Optimize Options. * ffreestanding <1>: Function Attributes. -* ffreestanding <2>: C Dialect Options. -* ffreestanding: Standards. +* ffreestanding <2>: Standards. +* ffreestanding: C Dialect Options. * ffunction-sections: Optimize Options. * fgcse: Optimize Options. * fgcse-las: Optimize Options. @@ -24021,8 +24042,8 @@ * finline-functions: Optimize Options. * finline-limit: Optimize Options. * finput-charset: Preprocessor Options. -* finstrument-functions <1>: Function Attributes. -* finstrument-functions: Code Gen Options. +* finstrument-functions <1>: Code Gen Options. +* finstrument-functions: Function Attributes. * fkeep-inline-functions <1>: Inline. * fkeep-inline-functions: Optimize Options. * fkeep-static-consts: Optimize Options. @@ -24045,9 +24066,9 @@ * fno-common: Code Gen Options. * fno-const-strings: C++ Dialect Options. * fno-cprop-registers: Optimize Options. -* fno-default-inline <1>: Inline. +* fno-default-inline <1>: C++ Dialect Options. * fno-default-inline <2>: Optimize Options. -* fno-default-inline: C++ Dialect Options. +* fno-default-inline: Inline. * fno-defer-pop: Optimize Options. * fno-elide-constructors: C++ Dialect Options. * fno-enforce-eh-specs: C++ Dialect Options. @@ -24056,11 +24077,11 @@ * fno-gnu-keywords: C++ Dialect Options. * fno-guess-branch-probability: Optimize Options. * fno-ident: Code Gen Options. -* fno-implement-inlines <1>: C++ Interface. -* fno-implement-inlines: C++ Dialect Options. +* fno-implement-inlines <1>: C++ Dialect Options. +* fno-implement-inlines: C++ Interface. * fno-implicit-inline-templates: C++ Dialect Options. -* fno-implicit-templates <1>: Template Instantiation. -* fno-implicit-templates: C++ Dialect Options. +* fno-implicit-templates <1>: C++ Dialect Options. +* fno-implicit-templates: Template Instantiation. * fno-inline: Optimize Options. * fno-math-errno: Optimize Options. * fno-nil-receivers: Objective-C Dialect Options. @@ -24090,8 +24111,8 @@ * force_cpusubtype_ALL: Darwin Options. * force_flat_namespace: Darwin Options. * fpack-struct: Code Gen Options. -* fpcc-struct-return <1>: Incompatibilities. -* fpcc-struct-return: Code Gen Options. +* fpcc-struct-return <1>: Code Gen Options. +* fpcc-struct-return: Incompatibilities. * fpch-deps: Preprocessor Options. * fpeel-loops: Optimize Options. * fpermissive: C++ Dialect Options. @@ -24101,8 +24122,8 @@ * fpie: Code Gen Options. * fprefetch-loop-arrays: Optimize Options. * fpreprocessed: Preprocessor Options. -* fprofile-arcs <1>: Other Builtins. -* fprofile-arcs: Debugging Options. +* fprofile-arcs <1>: Debugging Options. +* fprofile-arcs: Other Builtins. * fprofile-generate: Optimize Options. * fprofile-use: Optimize Options. * fprofile-values: Optimize Options. @@ -24114,8 +24135,8 @@ * freorder-blocks: Optimize Options. * freorder-functions: Optimize Options. * freplace-objc-classes: Objective-C Dialect Options. -* frepo <1>: Template Instantiation. -* frepo: C++ Dialect Options. +* frepo <1>: C++ Dialect Options. +* frepo: Template Instantiation. * frerun-cse-after-loop: Optimize Options. * frerun-loop-opt: Optimize Options. * frounding-math: Optimize Options. @@ -24135,8 +24156,8 @@ * fshort-enums: Code Gen Options. * fshort-wchar: Code Gen Options. * fsignaling-nans: Optimize Options. -* fsigned-bitfields <1>: Non-bugs. -* fsigned-bitfields: C Dialect Options. +* fsigned-bitfields <1>: C Dialect Options. +* fsigned-bitfields: Non-bugs. * fsigned-char: C Dialect Options. * fsingle-precision-constant: Optimize Options. * fstack-check: Code Gen Options. @@ -24155,11 +24176,11 @@ * ftrapv: Code Gen Options. * funit-at-a-time: Optimize Options. * funroll-all-loops: Optimize Options. -* funroll-loops <1>: Non-bugs. -* funroll-loops: Optimize Options. +* funroll-loops <1>: Optimize Options. +* funroll-loops: Non-bugs. * funsafe-math-optimizations: Optimize Options. -* funsigned-bitfields <1>: Non-bugs. -* funsigned-bitfields: C Dialect Options. +* funsigned-bitfields <1>: C Dialect Options. +* funsigned-bitfields: Non-bugs. * funsigned-char: C Dialect Options. * funswitch-loops: Optimize Options. * funwind-tables: Code Gen Options. @@ -24173,9 +24194,9 @@ * fwritable-strings <1>: Incompatibilities. * fwritable-strings: C Dialect Options. * fzero-link: Objective-C Dialect Options. -* G <1>: System V Options. +* G <1>: RS/6000 and PowerPC Options. * G <2>: MIPS Options. -* G <3>: RS/6000 and PowerPC Options. +* G <3>: System V Options. * G: M32R/D Options. * g: Debugging Options. * gcoff: Debugging Options. @@ -24190,11 +24211,11 @@ * gxcoff+: Debugging Options. * H: Preprocessor Options. * headerpad_max_install_names: Darwin Options. -* help <1>: Preprocessor Options. -* help: Overall Options. +* help <1>: Overall Options. +* help: Preprocessor Options. * hp-ld: HPPA Options. -* I <1>: Directory Options. -* I: Preprocessor Options. +* I <1>: Preprocessor Options. +* I: Directory Options. * I- <1>: Directory Options. * I-: Preprocessor Options. * idirafter: Preprocessor Options. @@ -24210,8 +24231,8 @@ * iwithprefix: Preprocessor Options. * iwithprefixbefore: Preprocessor Options. * keep_private_externs: Darwin Options. -* L: Directory Options. * l: Link Options. +* L: Directory Options. * lobjc: Link Options. * M: Preprocessor Options. * m1: SH Options. @@ -24222,8 +24243,8 @@ * m210: MCore Options. * m3: SH Options. * m31: S/390 and zSeries Options. -* m32 <1>: i386 and x86-64 Options. -* m32: SPARC Options. +* m32 <1>: SPARC Options. +* m32: i386 and x86-64 Options. * m32-bit: CRIS Options. * m32032: NS32K Options. * m32081: NS32K Options. @@ -24246,9 +24267,9 @@ * m486: i386 and x86-64 Options. * m4byte-functions: MCore Options. * m5200: M680x0 Options. -* m64 <1>: S/390 and zSeries Options. +* m64 <1>: SPARC Options. * m64 <2>: i386 and x86-64 Options. -* m64: SPARC Options. +* m64: S/390 and zSeries Options. * m68000: M680x0 Options. * m68020: M680x0 Options. * m68020-40: M680x0 Options. @@ -24305,12 +24326,12 @@ * mapcs-frame: ARM Options. * mapp-regs <1>: V850 Options. * mapp-regs: SPARC Options. -* march <1>: CRIS Options. +* march <1>: ARM Options. * march <2>: S/390 and zSeries Options. * march <3>: HPPA Options. -* march <4>: i386 and x86-64 Options. +* march <4>: CRIS Options. * march <5>: MIPS Options. -* march: ARM Options. +* march: i386 and x86-64 Options. * masm-compat: Intel 960 Options. * masm-optimize: D30V Options. * masm=DIALECT: i386 and x86-64 Options. @@ -24323,17 +24344,17 @@ * mbcopy: PDP-11 Options. * mbig <1>: TMS320C3x/C4x Options. * mbig: RS/6000 and PowerPC Options. -* mbig-endian <1>: IA-64 Options. -* mbig-endian <2>: MCore Options. -* mbig-endian <3>: RS/6000 and PowerPC Options. -* mbig-endian: ARM Options. +* mbig-endian <1>: RS/6000 and PowerPC Options. +* mbig-endian <2>: ARM Options. +* mbig-endian <3>: IA-64 Options. +* mbig-endian: MCore Options. * mbig-memory: TMS320C3x/C4x Options. * mbig-switch <1>: V850 Options. * mbig-switch: HPPA Options. * mbigtable: SH Options. * mbit-align: RS/6000 and PowerPC Options. -* mbitfield <1>: NS32K Options. -* mbitfield: M680x0 Options. +* mbitfield <1>: M680x0 Options. +* mbitfield: NS32K Options. * mbk: TMS320C3x/C4x Options. * mbranch-cheap: PDP-11 Options. * mbranch-cost: D30V Options. @@ -24372,21 +24393,21 @@ * mcmodel=small: i386 and x86-64 Options. * mcode-align: Intel 960 Options. * mcomplex-addr: Intel 960 Options. -* mcond-exec <1>: FRV Options. -* mcond-exec: D30V Options. +* mcond-exec <1>: D30V Options. +* mcond-exec: FRV Options. * mcond-move: FRV Options. * mconst-align: CRIS Options. * mconst16: Xtensa Options. * mconstant-gp: IA-64 Options. -* mcpu <1>: FRV Options. -* mcpu <2>: CRIS Options. -* mcpu <3>: ARC Options. -* mcpu <4>: TMS320C3x/C4x Options. -* mcpu <5>: DEC Alpha Options. -* mcpu <6>: i386 and x86-64 Options. -* mcpu <7>: RS/6000 and PowerPC Options. -* mcpu <8>: ARM Options. -* mcpu: SPARC Options. +* mcpu <1>: DEC Alpha Options. +* mcpu <2>: RS/6000 and PowerPC Options. +* mcpu <3>: ARM Options. +* mcpu <4>: FRV Options. +* mcpu <5>: SPARC Options. +* mcpu <6>: ARC Options. +* mcpu <7>: TMS320C3x/C4x Options. +* mcpu <8>: CRIS Options. +* mcpu: i386 and x86-64 Options. * mcpu32: M680x0 Options. * mcypress: SPARC Options. * MD: Preprocessor Options. @@ -24394,8 +24415,8 @@ * mdata: ARC Options. * mdata-align: CRIS Options. * mdb: TMS320C3x/C4x Options. -* mdebug <1>: S/390 and zSeries Options. -* mdebug: M32R/D Options. +* mdebug <1>: M32R/D Options. +* mdebug: S/390 and zSeries Options. * mdec-asm: PDP-11 Options. * mdisable-callt: V850 Options. * mdisable-fpregs: HPPA Options. @@ -24421,8 +24442,8 @@ * mesa: S/390 and zSeries Options. * metrax100: CRIS Options. * metrax4: CRIS Options. -* mexplicit-relocs <1>: DEC Alpha Options. -* mexplicit-relocs: MIPS Options. +* mexplicit-relocs <1>: MIPS Options. +* mexplicit-relocs: DEC Alpha Options. * mextmem: D30V Options. * mextmemory: D30V Options. * MF: Preprocessor Options. @@ -24456,13 +24477,13 @@ * mfpu: SPARC Options. * mfull-toc: RS/6000 and PowerPC Options. * mfused-madd <1>: Xtensa Options. -* mfused-madd <2>: S/390 and zSeries Options. -* mfused-madd <3>: MIPS Options. -* mfused-madd: RS/6000 and PowerPC Options. -* mg: VAX Options. +* mfused-madd <2>: RS/6000 and PowerPC Options. +* mfused-madd <3>: S/390 and zSeries Options. +* mfused-madd: MIPS Options. * MG: Preprocessor Options. -* mgas <1>: DEC Alpha Options. -* mgas: HPPA Options. +* mg: VAX Options. +* mgas <1>: HPPA Options. +* mgas: DEC Alpha Options. * mgnu: VAX Options. * mgnu-as: IA-64 Options. * mgnu-ld: IA-64 Options. @@ -24472,12 +24493,12 @@ * mgpr-32: FRV Options. * mgpr-64: FRV Options. * mh: H8/300 Options. -* mhard-float <1>: FRV Options. -* mhard-float <2>: S/390 and zSeries Options. -* mhard-float <3>: MIPS Options. -* mhard-float <4>: RS/6000 and PowerPC Options. -* mhard-float <5>: ARM Options. -* mhard-float: SPARC Options. +* mhard-float <1>: S/390 and zSeries Options. +* mhard-float <2>: ARM Options. +* mhard-float <3>: SPARC Options. +* mhard-float <4>: FRV Options. +* mhard-float <5>: RS/6000 and PowerPC Options. +* mhard-float: MIPS Options. * mhard-quad-float: SPARC Options. * mhardlit: MCore Options. * mhimem: NS32K Options. @@ -24501,8 +24522,8 @@ * minmax: M68hc1x Options. * minsert-sched-nops: RS/6000 and PowerPC Options. * mint16: PDP-11 Options. -* mint32 <1>: PDP-11 Options. -* mint32: H8/300 Options. +* mint32 <1>: H8/300 Options. +* mint32: PDP-11 Options. * mint64: MIPS Options. * mintel-asm: Intel 960 Options. * mips1: MIPS Options. @@ -24529,11 +24550,11 @@ * mlinker-opt: HPPA Options. * mlinux: CRIS Options. * mlittle: RS/6000 and PowerPC Options. -* mlittle-endian <1>: IA-64 Options. -* mlittle-endian <2>: MCore Options. -* mlittle-endian <3>: RS/6000 and PowerPC Options. -* mlittle-endian <4>: ARM Options. -* mlittle-endian: SPARC Options. +* mlittle-endian <1>: MCore Options. +* mlittle-endian <2>: SPARC Options. +* mlittle-endian <3>: ARM Options. +* mlittle-endian <4>: IA-64 Options. +* mlittle-endian: RS/6000 and PowerPC Options. * mlong-calls <1>: V850 Options. * mlong-calls <2>: MIPS Options. * mlong-calls <3>: ARM Options. @@ -24621,8 +24642,8 @@ * mno-embedded-pic: MIPS Options. * mno-ep: V850 Options. * mno-epsilon: MMIX Options. -* mno-explicit-relocs <1>: DEC Alpha Options. -* mno-explicit-relocs: MIPS Options. +* mno-explicit-relocs <1>: MIPS Options. +* mno-explicit-relocs: DEC Alpha Options. * mno-fancy-math-387: i386 and x86-64 Options. * mno-fast-fix: TMS320C3x/C4x Options. * mno-faster-structs: SPARC Options. @@ -24636,10 +24657,10 @@ * mno-fp-regs: DEC Alpha Options. * mno-fp-ret-in-387: i386 and x86-64 Options. * mno-fpu: SPARC Options. -* mno-fused-madd <1>: Xtensa Options. -* mno-fused-madd <2>: S/390 and zSeries Options. -* mno-fused-madd <3>: MIPS Options. -* mno-fused-madd: RS/6000 and PowerPC Options. +* mno-fused-madd <1>: S/390 and zSeries Options. +* mno-fused-madd <2>: Xtensa Options. +* mno-fused-madd <3>: RS/6000 and PowerPC Options. +* mno-fused-madd: MIPS Options. * mno-gnu-as: IA-64 Options. * mno-gnu-ld: IA-64 Options. * mno-gotplt: CRIS Options. @@ -24652,11 +24673,11 @@ * mno-knuthdiv: MMIX Options. * mno-leaf-procedures: Intel 960 Options. * mno-libfuncs: MMIX Options. -* mno-long-calls <1>: V850 Options. -* mno-long-calls <2>: HPPA Options. +* mno-long-calls <1>: M68hc1x Options. +* mno-long-calls <2>: ARM Options. * mno-long-calls <3>: MIPS Options. -* mno-long-calls <4>: ARM Options. -* mno-long-calls: M68hc1x Options. +* mno-long-calls <4>: V850 Options. +* mno-long-calls: HPPA Options. * mno-longcall: RS/6000 and PowerPC Options. * mno-longcalls: Xtensa Options. * mno-loop-unsigned: TMS320C3x/C4x Options. @@ -24698,8 +24719,8 @@ * mno-rpts: TMS320C3x/C4x Options. * mno-scc: FRV Options. * mno-sched-prolog: ARM Options. -* mno-sdata <1>: IA-64 Options. -* mno-sdata: RS/6000 and PowerPC Options. +* mno-sdata <1>: RS/6000 and PowerPC Options. +* mno-sdata: IA-64 Options. * mno-side-effects: CRIS Options. * mno-single-exit: MMIX Options. * mno-slow-bytes: MCore Options. @@ -24712,8 +24733,8 @@ * mno-stack-align: CRIS Options. * mno-stack-bias: SPARC Options. * mno-strict-align <1>: Intel 960 Options. -* mno-strict-align <2>: RS/6000 and PowerPC Options. -* mno-strict-align: M680x0 Options. +* mno-strict-align <2>: M680x0 Options. +* mno-strict-align: RS/6000 and PowerPC Options. * mno-string: RS/6000 and PowerPC Options. * mno-sum-in-toc: RS/6000 and PowerPC Options. * mno-svr3-shlib: i386 and x86-64 Options. @@ -24784,9 +24805,9 @@ * mregparam: NS32K Options. * mregparm <1>: TMS320C3x/C4x Options. * mregparm: i386 and x86-64 Options. -* mrelax <1>: SH Options. +* mrelax <1>: MN10300 Options. * mrelax <2>: H8/300 Options. -* mrelax: MN10300 Options. +* mrelax: SH Options. * mrelax-immediate: MCore Options. * mrelocatable: RS/6000 and PowerPC Options. * mrelocatable-lib: RS/6000 and PowerPC Options. @@ -24796,29 +24817,29 @@ * mrpts: TMS320C3x/C4x Options. * mrtd <1>: Function Attributes. * mrtd <2>: NS32K Options. -* mrtd <3>: i386 and x86-64 Options. -* mrtd: M680x0 Options. +* mrtd <3>: M680x0 Options. +* mrtd: i386 and x86-64 Options. * ms: H8/300 Options. * ms2600: H8/300 Options. * msa: Intel 960 Options. -* msb <1>: NS32K Options. -* msb: Intel 960 Options. +* msb <1>: Intel 960 Options. +* msb: NS32K Options. * mscc: FRV Options. * msched-costly-dep: RS/6000 and PowerPC Options. * mschedule: HPPA Options. * msda: V850 Options. -* msdata <1>: IA-64 Options. -* msdata: RS/6000 and PowerPC Options. +* msdata <1>: RS/6000 and PowerPC Options. +* msdata: IA-64 Options. * msdata-data: RS/6000 and PowerPC Options. * msdata=default: RS/6000 and PowerPC Options. * msdata=eabi: RS/6000 and PowerPC Options. -* msdata=none <1>: RS/6000 and PowerPC Options. -* msdata=none: M32R/D Options. +* msdata=none <1>: M32R/D Options. +* msdata=none: RS/6000 and PowerPC Options. * msdata=sdata: M32R/D Options. * msdata=sysv: RS/6000 and PowerPC Options. * msdata=use: M32R/D Options. -* mshort <1>: M68hc1x Options. -* mshort: M680x0 Options. +* mshort <1>: M680x0 Options. +* mshort: M68hc1x Options. * msim <1>: Xstormy16 Options. * msim: RS/6000 and PowerPC Options. * msingle-exit: MMIX Options. @@ -24832,23 +24853,23 @@ * msmall-exec: S/390 and zSeries Options. * msmall-memory: TMS320C3x/C4x Options. * msmall-text: DEC Alpha Options. -* msoft-float <1>: FRV Options. -* msoft-float <2>: PDP-11 Options. -* msoft-float <3>: S/390 and zSeries Options. -* msoft-float <4>: NS32K Options. -* msoft-float <5>: DEC Alpha Options. -* msoft-float <6>: Intel 960 Options. -* msoft-float <7>: HPPA Options. -* msoft-float <8>: i386 and x86-64 Options. -* msoft-float <9>: MIPS Options. -* msoft-float <10>: RS/6000 and PowerPC Options. -* msoft-float <11>: ARM Options. -* msoft-float <12>: SPARC Options. -* msoft-float: M680x0 Options. +* msoft-float <1>: M680x0 Options. +* msoft-float <2>: DEC Alpha Options. +* msoft-float <3>: PDP-11 Options. +* msoft-float <4>: Intel 960 Options. +* msoft-float <5>: HPPA Options. +* msoft-float <6>: S/390 and zSeries Options. +* msoft-float <7>: MIPS Options. +* msoft-float <8>: RS/6000 and PowerPC Options. +* msoft-float <9>: FRV Options. +* msoft-float <10>: NS32K Options. +* msoft-float <11>: i386 and x86-64 Options. +* msoft-float <12>: ARM Options. +* msoft-float: SPARC Options. * msoft-quad-float: SPARC Options. * msoft-reg-count: M68hc1x Options. -* mspace <1>: V850 Options. -* mspace: SH Options. +* mspace <1>: SH Options. +* mspace: V850 Options. * msparclite: SPARC Options. * mspe: RS/6000 and PowerPC Options. * msplit: PDP-11 Options. @@ -24856,9 +24877,9 @@ * msse: i386 and x86-64 Options. * mstack-align: CRIS Options. * mstack-bias: SPARC Options. -* mstrict-align <1>: Intel 960 Options. -* mstrict-align <2>: RS/6000 and PowerPC Options. -* mstrict-align: M680x0 Options. +* mstrict-align <1>: RS/6000 and PowerPC Options. +* mstrict-align <2>: M680x0 Options. +* mstrict-align: Intel 960 Options. * mstring: RS/6000 and PowerPC Options. * mstructure-size-boundary: ARM Options. * msupersparc: SPARC Options. @@ -24882,14 +24903,14 @@ * mtpcs-frame: ARM Options. * mtpcs-leaf-frame: ARM Options. * mtrap-precision: DEC Alpha Options. -* mtune <1>: CRIS Options. +* mtune <1>: SPARC Options. * mtune <2>: S/390 and zSeries Options. -* mtune <3>: DEC Alpha Options. -* mtune <4>: i386 and x86-64 Options. +* mtune <3>: RS/6000 and PowerPC Options. +* mtune <4>: ARM Options. * mtune <5>: MIPS Options. -* mtune <6>: RS/6000 and PowerPC Options. -* mtune <7>: ARM Options. -* mtune: SPARC Options. +* mtune <6>: i386 and x86-64 Options. +* mtune <7>: DEC Alpha Options. +* mtune: CRIS Options. * multi_module: Darwin Options. * multiply_defined: Darwin Options. * multiply_defined_unused: Darwin Options. @@ -24930,12 +24951,12 @@ * noseglinkedit: Darwin Options. * nostartfiles: Link Options. * nostdinc: Preprocessor Options. -* nostdinc++ <1>: Preprocessor Options. -* nostdinc++: C++ Dialect Options. +* nostdinc++ <1>: C++ Dialect Options. +* nostdinc++: Preprocessor Options. * nostdlib: Link Options. -* o: Preprocessor Options. -* O: Optimize Options. * o: Overall Options. +* O: Optimize Options. +* o: Preprocessor Options. * O0: Optimize Options. * O1: Optimize Options. * O2: Optimize Options. @@ -24946,16 +24967,16 @@ * pagezero_size: Darwin Options. * param: Optimize Options. * pass-exit-codes: Overall Options. -* pedantic <1>: Warnings and Errors. -* pedantic <2>: Alternate Keywords. -* pedantic <3>: C Extensions. -* pedantic <4>: Preprocessor Options. -* pedantic <5>: Warning Options. -* pedantic: Standards. +* pedantic <1>: Alternate Keywords. +* pedantic <2>: Warning Options. +* pedantic <3>: Warnings and Errors. +* pedantic <4>: Standards. +* pedantic <5>: C Extensions. +* pedantic: Preprocessor Options. * pedantic-errors <1>: Warnings and Errors. -* pedantic-errors <2>: Non-bugs. +* pedantic-errors <2>: Preprocessor Options. * pedantic-errors <3>: Actual Bugs. -* pedantic-errors <4>: Preprocessor Options. +* pedantic-errors <4>: Non-bugs. * pedantic-errors <5>: Warning Options. * pedantic-errors: Standards. * pg: Debugging Options. @@ -24999,20 +25020,20 @@ * sim2: CRIS Options. * single_module: Darwin Options. * specs: Directory Options. -* static <1>: HPPA Options. -* static <2>: Darwin Options. -* static: Link Options. +* static <1>: Link Options. +* static <2>: HPPA Options. +* static: Darwin Options. * static-libgcc: Link Options. -* std <1>: Non-bugs. +* std <1>: Standards. * std <2>: Other Builtins. * std <3>: C Dialect Options. -* std: Standards. +* std: Non-bugs. * std=: Preprocessor Options. * sub_library: Darwin Options. * sub_umbrella: Darwin Options. * symbolic: Link Options. -* target-help <1>: Preprocessor Options. -* target-help: Overall Options. +* target-help <1>: Overall Options. +* target-help: Preprocessor Options. * threads: HPPA Options. * time: Debugging Options. * traditional <1>: Incompatibilities. @@ -25028,30 +25049,30 @@ * undef: Preprocessor Options. * undefined: Darwin Options. * unexported_symbols_list: Darwin Options. +* v <1>: Overall Options. +* v: Preprocessor Options. * V: Target Options. -* v <1>: Preprocessor Options. -* v: Overall Options. * version <1>: Preprocessor Options. * version: Overall Options. -* W: Incompatibilities. -* w: Preprocessor Options. * W: Warning Options. -* w: Warning Options. +* w <1>: Warning Options. +* w: Preprocessor Options. +* W: Incompatibilities. * Wa: Assembler Options. * Wabi: C++ Dialect Options. * Waggregate-return: Warning Options. -* Wall <1>: Standard Libraries. +* Wall <1>: Warning Options. * Wall <2>: Preprocessor Options. -* Wall: Warning Options. +* Wall: Standard Libraries. * Wbad-function-cast: Warning Options. * Wcast-align: Warning Options. * Wcast-qual: Warning Options. * Wchar-subscripts: Warning Options. -* Wcomment <1>: Preprocessor Options. -* Wcomment: Warning Options. +* Wcomment <1>: Warning Options. +* Wcomment: Preprocessor Options. * Wcomments: Preprocessor Options. -* Wconversion <1>: Protoize Caveats. -* Wconversion: Warning Options. +* Wconversion <1>: Warning Options. +* Wconversion: Protoize Caveats. * Wctor-dtor-privacy: C++ Dialect Options. * Wdeclaration-after-statement: Warning Options. * Wdisabled-optimization: Warning Options. @@ -25060,13 +25081,13 @@ * Weffc++: C++ Dialect Options. * Wendif-labels <1>: Preprocessor Options. * Wendif-labels: Warning Options. -* Werror <1>: Preprocessor Options. -* Werror: Warning Options. +* Werror <1>: Warning Options. +* Werror: Preprocessor Options. * Werror-implicit-function-declaration: Warning Options. * Wextra: Warning Options. * Wfloat-equal: Warning Options. -* Wformat <1>: Function Attributes. -* Wformat: Warning Options. +* Wformat <1>: Warning Options. +* Wformat: Function Attributes. * Wformat-nonliteral <1>: Function Attributes. * Wformat-nonliteral: Warning Options. * Wformat-security: Warning Options. @@ -25115,8 +25136,8 @@ * Wpacked: Warning Options. * Wpadded: Warning Options. * Wparentheses: Warning Options. -* Wpointer-arith <1>: Pointer Arith. -* Wpointer-arith: Warning Options. +* Wpointer-arith <1>: Warning Options. +* Wpointer-arith: Pointer Arith. * Wredundant-decls: Warning Options. * Wreorder: C++ Dialect Options. * Wreturn-type: Warning Options. @@ -25131,15 +25152,15 @@ * Wswitch-enum: Warning Options. * Wswitch-switch: Warning Options. * Wsynth: C++ Dialect Options. -* Wsystem-headers <1>: Preprocessor Options. -* Wsystem-headers: Warning Options. -* Wtraditional <1>: Preprocessor Options. -* Wtraditional: Warning Options. +* Wsystem-headers <1>: Warning Options. +* Wsystem-headers: Preprocessor Options. +* Wtraditional <1>: Warning Options. +* Wtraditional: Preprocessor Options. * Wtrigraphs <1>: Preprocessor Options. * Wtrigraphs: Warning Options. * Wundeclared-selector: Objective-C Dialect Options. -* Wundef <1>: Preprocessor Options. -* Wundef: Warning Options. +* Wundef <1>: Warning Options. +* Wundef: Preprocessor Options. * Wuninitialized: Warning Options. * Wunknown-pragmas: Warning Options. * Wunreachable-code: Warning Options. @@ -25195,8 +25216,8 @@ * > in constraint: Simple Constraints. * >?: Min and Max. * ? in constraint: Multi-Alternative. -* ?: extensions <1>: Conditionals. -* ?: extensions: Lvalues. +* ?: extensions <1>: Lvalues. +* ?: extensions: Conditionals. * ?: side effect: Conditionals. * _ in variables in macros: Typeof. * __builtin_apply: Constructing Calls. @@ -25254,8 +25275,8 @@ * __STDC_HOSTED__: Standards. * __thread: Thread-Local. * _Complex keyword: Complex. -* _exit: Other Builtins. * _Exit: Other Builtins. +* _exit: Other Builtins. * ABI: Compatibility. * abort: Other Builtins. * abs: Other Builtins. @@ -25272,8 +25293,8 @@ * address_operand: Simple Constraints. * alias attribute: Function Attributes. * aliasing of parameters: Code Gen Options. -* aligned attribute <1>: Type Attributes. -* aligned attribute: Variable Attributes. +* aligned attribute <1>: Variable Attributes. +* aligned attribute: Type Attributes. * alignment: Alignment. * alloca: Other Builtins. * alloca vs variable-length arrays: Variable Length. @@ -25324,12 +25345,13 @@ * base class members: Name lookup. * bcmp: Other Builtins. * binary compatibility: Compatibility. +* Binary constants using the `0b' prefix: Binary constants. * bound pointer to member function: Bound member functions. * bug criteria: Bug Criteria. * bugs: Bugs. * bugs, known: Trouble. -* built-in functions <1>: Other Builtins. -* built-in functions: C Dialect Options. +* built-in functions <1>: C Dialect Options. +* built-in functions: Other Builtins. * bzero: Other Builtins. * C compilation options: Invoking GCC. * C intermediate output, nonexistent: G++ and GCC. @@ -25337,8 +25359,8 @@ * C language, traditional: C Dialect Options. * C standard: Standards. * C standards: Standards. -* c++: Invoking G++. * C++: G++ and GCC. +* c++: Invoking G++. * C++ comments: C++ Comments. * C++ compilation options: Invoking GCC. * C++ interface and implementation headers: C++ Interface. @@ -25616,10 +25638,10 @@ * functions which handle memory bank switching: Function Attributes. * functions with non-null pointer arguments: Function Attributes. * functions with printf, scanf, strftime or strfmon style arguments: Function Attributes. -* g in constraint: Simple Constraints. * G in constraint: Simple Constraints. -* g++: Invoking G++. +* g in constraint: Simple Constraints. * G++: G++ and GCC. +* g++: Invoking G++. * gamma: Other Builtins. * gammaf: Other Builtins. * gammal: Other Builtins. @@ -25644,7 +25666,8 @@ * hardware models and configurations, specifying: Submodel Options. * hex floats: Hex Floats. * hosted environment <1>: C Dialect Options. -* hosted environment: Standards. +* hosted environment <2>: Standards. +* hosted environment: C Dialect Options. * hosted implementation: Standards. * HPPA Options: HPPA Options. * hypot: Other Builtins. @@ -26062,8 +26085,8 @@ * TMPDIR: Environment Variables. * TMS320C3x/C4x Options: TMS320C3x/C4x Options. * traditional C language: C Dialect Options. -* treelang <1>: Standards. -* treelang: G++ and GCC. +* treelang <1>: G++ and GCC. +* treelang: Standards. * trunc: Other Builtins. * truncf: Other Builtins. * truncl: Other Builtins. @@ -26149,208 +26172,209 @@  Tag Table: -Node: Top2025 -Node: G++ and GCC3708 -Node: Standards5740 -Node: Invoking GCC12898 -Node: Option Summary16604 -Node: Overall Options40871 -Node: Invoking G++47992 -Node: C Dialect Options49606 -Node: C++ Dialect Options60284 -Node: Objective-C Dialect Options76618 -Node: Language Independent Options85683 -Node: Warning Options87468 -Node: Debugging Options125892 -Node: Optimize Options146873 -Node: Preprocessor Options199940 -Ref: Wtrigraphs203955 -Ref: dashMF208712 -Ref: fdollars-in-identifiers216542 -Node: Assembler Options224402 -Node: Link Options225097 -Ref: Link Options-Footnote-1233463 -Node: Directory Options233797 -Node: Spec Files238782 -Node: Target Options258138 -Node: Submodel Options259434 -Node: M680x0 Options261132 -Node: M68hc1x Options268168 -Node: VAX Options269718 -Node: SPARC Options270251 -Node: ARM Options281399 -Node: MN10300 Options293845 -Node: M32R/D Options294889 -Node: RS/6000 and PowerPC Options298476 -Node: Darwin Options322571 -Node: MIPS Options324654 -Node: i386 and x86-64 Options335872 -Node: HPPA Options353588 -Node: Intel 960 Options361468 -Node: DEC Alpha Options364408 -Node: DEC Alpha/VMS Options375875 -Node: H8/300 Options376249 -Node: SH Options377298 -Node: System V Options379652 -Node: TMS320C3x/C4x Options380467 -Node: V850 Options385976 -Node: ARC Options389105 -Node: NS32K Options390304 -Node: AVR Options394826 -Node: MCore Options396624 -Node: IA-64 Options397626 -Node: D30V Options400587 -Node: S/390 and zSeries Options401827 -Node: CRIS Options405151 -Node: MMIX Options409366 -Node: PDP-11 Options411831 -Node: Xstormy16 Options413653 -Node: FRV Options413926 -Node: Xtensa Options417871 -Node: Code Gen Options421691 -Node: Environment Variables437317 -Node: Precompiled Headers444956 -Node: Running Protoize450178 -Node: C Implementation456505 -Node: Translation implementation457436 -Node: Environment implementation457871 -Node: Identifiers implementation458161 -Node: Characters implementation458774 -Node: Integers implementation460631 -Node: Floating point implementation461586 -Node: Arrays and pointers implementation463435 -Ref: Arrays and pointers implementation-Footnote-1464736 -Node: Hints implementation464860 -Node: Structures unions enumerations and bit-fields implementation466299 -Node: Qualifiers implementation467108 -Node: Preprocessing directives implementation467419 -Node: Library functions implementation469218 -Node: Architecture implementation469540 -Node: Locale-specific behavior implementation470105 -Node: C Extensions470400 -Node: Statement Exprs474498 -Node: Local Labels477981 -Node: Labels as Values480951 -Ref: Labels as Values-Footnote-1482997 -Node: Nested Functions483180 -Node: Constructing Calls487053 -Node: Typeof489378 -Node: Lvalues492537 -Node: Conditionals495029 -Node: Long Long495913 -Node: Complex497406 -Node: Hex Floats499964 -Node: Zero Length500989 -Node: Empty Structures504271 -Node: Variable Length504677 -Node: Variadic Macros507434 -Node: Escaped Newlines509806 -Node: Subscripting510635 -Node: Pointer Arith511358 -Node: Initializers511916 -Node: Compound Literals512402 -Node: Designated Inits514554 -Node: Case Ranges518204 -Node: Cast to Union518877 -Node: Mixed Declarations519963 -Node: Function Attributes520459 -Node: Attribute Syntax551570 -Node: Function Prototypes562168 -Node: C++ Comments563954 -Node: Dollar Signs564463 -Node: Character Escapes564918 -Node: Alignment565202 -Node: Variable Attributes566509 -Node: Type Attributes579493 -Node: Inline592244 -Node: Extended Asm596939 -Node: Constraints615938 -Node: Simple Constraints616778 -Node: Multi-Alternative623283 -Node: Modifiers624986 -Node: Machine Constraints627514 -Node: Asm Labels649707 -Node: Explicit Reg Vars651378 -Node: Global Reg Vars652829 -Node: Local Reg Vars657365 -Node: Alternate Keywords659152 -Node: Incomplete Enums660570 -Node: Function Names661317 -Node: Return Address663512 -Node: Vector Extensions666295 -Node: Other Builtins669897 -Node: Target Builtins689931 -Node: Alpha Built-in Functions690485 -Node: ARM Built-in Functions693463 -Node: X86 Built-in Functions700156 -Node: PowerPC AltiVec Built-in Functions710541 -Node: Pragmas768338 -Node: ARM Pragmas768833 -Node: RS/6000 and PowerPC Pragmas769437 -Node: Darwin Pragmas770164 -Node: Solaris Pragmas771217 -Node: Tru64 Pragmas771777 -Node: Unnamed Fields772515 -Node: Thread-Local773598 -Node: C99 Thread-Local Edits775672 -Node: C++98 Thread-Local Edits777670 -Node: C++ Extensions781101 -Node: Min and Max782789 -Node: Volatiles784164 -Node: Restricted Pointers787522 -Node: Vague Linkage789108 -Node: C++ Interface792756 -Ref: C++ Interface-Footnote-1797828 -Node: Template Instantiation797965 -Node: Bound member functions805093 -Node: C++ Attributes806633 -Node: Strong Using808265 -Node: Offsetof809509 -Node: Java Exceptions810115 -Node: Deprecated Features811499 -Node: Backwards Compatibility813492 -Node: Objective-C814837 -Node: Executing code before main815414 -Node: What you can and what you cannot do in +load818037 -Node: Type encoding820192 -Node: Garbage Collection823427 -Node: Constant string objects826078 -Node: compatibility_alias828578 -Node: Compatibility829448 -Node: Gcov836011 -Node: Gcov Intro836477 -Node: Invoking Gcov839185 -Node: Gcov and Optimization850522 -Node: Gcov Data Files853167 -Node: Trouble854273 -Node: Actual Bugs855862 -Node: Cross-Compiler Problems856770 -Node: Interoperation858277 -Node: External Bugs868416 -Node: Incompatibilities869849 -Node: Fixed Headers878257 -Node: Standard Libraries880561 -Node: Disappointments881923 -Node: C++ Misunderstandings886414 -Node: Static Definitions887223 -Node: Name lookup888262 -Ref: Name lookup-Footnote-1893045 -Node: Temporaries893232 -Node: Copy Assignment895193 -Node: Protoize Caveats897006 -Node: Non-bugs900958 -Node: Warnings and Errors910823 -Node: Bugs912575 -Node: Bug Criteria913133 -Node: Bug Reporting915321 -Node: Service915699 -Node: Contributing916512 -Node: Funding917250 -Node: GNU Project919739 -Node: Copying920385 -Node: GNU Free Documentation License939561 -Node: Contributors961961 -Node: Option Index989480 -Node: Keyword Index1066223 +Node: Top1986 +Node: G++ and GCC3669 +Node: Standards5701 +Node: Invoking GCC12859 +Node: Option Summary16565 +Node: Overall Options40832 +Node: Invoking G++47953 +Node: C Dialect Options49567 +Node: C++ Dialect Options60245 +Node: Objective-C Dialect Options76579 +Node: Language Independent Options85644 +Node: Warning Options87429 +Node: Debugging Options125853 +Node: Optimize Options146834 +Node: Preprocessor Options199901 +Ref: Wtrigraphs203916 +Ref: dashMF208673 +Ref: fdollars-in-identifiers216503 +Node: Assembler Options224363 +Node: Link Options225058 +Ref: Link Options-Footnote-1233424 +Node: Directory Options233758 +Node: Spec Files238743 +Node: Target Options258099 +Node: Submodel Options259395 +Node: M680x0 Options261093 +Node: M68hc1x Options268129 +Node: VAX Options269679 +Node: SPARC Options270212 +Node: ARM Options281360 +Node: MN10300 Options293806 +Node: M32R/D Options294850 +Node: RS/6000 and PowerPC Options298437 +Node: Darwin Options322532 +Node: MIPS Options324615 +Node: i386 and x86-64 Options335833 +Node: HPPA Options353549 +Node: Intel 960 Options361429 +Node: DEC Alpha Options364369 +Node: DEC Alpha/VMS Options375836 +Node: H8/300 Options376210 +Node: SH Options377259 +Node: System V Options379613 +Node: TMS320C3x/C4x Options380428 +Node: V850 Options385937 +Node: ARC Options389066 +Node: NS32K Options390265 +Node: AVR Options394787 +Node: MCore Options396585 +Node: IA-64 Options397587 +Node: D30V Options400548 +Node: S/390 and zSeries Options401788 +Node: CRIS Options405112 +Node: MMIX Options409327 +Node: PDP-11 Options411792 +Node: Xstormy16 Options413614 +Node: FRV Options413887 +Node: Xtensa Options417832 +Node: Code Gen Options421652 +Node: Environment Variables437278 +Node: Precompiled Headers444917 +Node: Running Protoize450139 +Node: C Implementation456466 +Node: Translation implementation457397 +Node: Environment implementation457832 +Node: Identifiers implementation458122 +Node: Characters implementation458735 +Node: Integers implementation460592 +Node: Floating point implementation461547 +Node: Arrays and pointers implementation463396 +Ref: Arrays and pointers implementation-Footnote-1464697 +Node: Hints implementation464821 +Node: Structures unions enumerations and bit-fields implementation466260 +Node: Qualifiers implementation467069 +Node: Preprocessing directives implementation467380 +Node: Library functions implementation469179 +Node: Architecture implementation469501 +Node: Locale-specific behavior implementation470066 +Node: C Extensions470361 +Node: Statement Exprs474523 +Node: Local Labels478006 +Node: Labels as Values480976 +Ref: Labels as Values-Footnote-1483022 +Node: Nested Functions483205 +Node: Constructing Calls487078 +Node: Typeof489403 +Node: Lvalues492562 +Node: Conditionals495054 +Node: Long Long495938 +Node: Complex497431 +Node: Hex Floats499989 +Node: Zero Length501014 +Node: Empty Structures504296 +Node: Variable Length504702 +Node: Variadic Macros507459 +Node: Escaped Newlines509831 +Node: Subscripting510660 +Node: Pointer Arith511383 +Node: Initializers511941 +Node: Compound Literals512427 +Node: Designated Inits514579 +Node: Case Ranges518229 +Node: Cast to Union518902 +Node: Mixed Declarations519988 +Node: Function Attributes520484 +Node: Attribute Syntax551595 +Node: Function Prototypes562193 +Node: C++ Comments563979 +Node: Dollar Signs564488 +Node: Character Escapes564943 +Node: Alignment565227 +Node: Variable Attributes566534 +Node: Type Attributes579518 +Node: Inline592269 +Node: Extended Asm596964 +Node: Constraints615963 +Node: Simple Constraints616803 +Node: Multi-Alternative623308 +Node: Modifiers625011 +Node: Machine Constraints627539 +Node: Asm Labels649732 +Node: Explicit Reg Vars651403 +Node: Global Reg Vars652854 +Node: Local Reg Vars657390 +Node: Alternate Keywords659177 +Node: Incomplete Enums660595 +Node: Function Names661342 +Node: Return Address663537 +Node: Vector Extensions666320 +Node: Other Builtins669922 +Node: Target Builtins689956 +Node: Alpha Built-in Functions690510 +Node: ARM Built-in Functions693488 +Node: X86 Built-in Functions700181 +Node: PowerPC AltiVec Built-in Functions710566 +Node: Pragmas768363 +Node: ARM Pragmas768858 +Node: RS/6000 and PowerPC Pragmas769462 +Node: Darwin Pragmas770189 +Node: Solaris Pragmas771242 +Node: Tru64 Pragmas771802 +Node: Unnamed Fields772540 +Node: Thread-Local773623 +Node: C99 Thread-Local Edits775722 +Node: C++98 Thread-Local Edits777720 +Node: Binary constants781151 +Node: C++ Extensions781719 +Node: Min and Max783407 +Node: Volatiles784782 +Node: Restricted Pointers788140 +Node: Vague Linkage789726 +Node: C++ Interface793374 +Ref: C++ Interface-Footnote-1798446 +Node: Template Instantiation798583 +Node: Bound member functions805711 +Node: C++ Attributes807251 +Node: Strong Using808883 +Node: Offsetof810127 +Node: Java Exceptions810733 +Node: Deprecated Features812117 +Node: Backwards Compatibility814110 +Node: Objective-C815455 +Node: Executing code before main816032 +Node: What you can and what you cannot do in +load818655 +Node: Type encoding820810 +Node: Garbage Collection824045 +Node: Constant string objects826696 +Node: compatibility_alias829196 +Node: Compatibility830066 +Node: Gcov836629 +Node: Gcov Intro837095 +Node: Invoking Gcov839803 +Node: Gcov and Optimization851140 +Node: Gcov Data Files853785 +Node: Trouble854891 +Node: Actual Bugs856480 +Node: Cross-Compiler Problems857388 +Node: Interoperation858895 +Node: External Bugs869034 +Node: Incompatibilities870467 +Node: Fixed Headers878875 +Node: Standard Libraries881179 +Node: Disappointments882541 +Node: C++ Misunderstandings887032 +Node: Static Definitions887841 +Node: Name lookup888880 +Ref: Name lookup-Footnote-1893663 +Node: Temporaries893850 +Node: Copy Assignment895811 +Node: Protoize Caveats897624 +Node: Non-bugs901576 +Node: Warnings and Errors911441 +Node: Bugs913193 +Node: Bug Criteria913751 +Node: Bug Reporting915939 +Node: Service916317 +Node: Contributing917130 +Node: Funding917868 +Node: GNU Project920357 +Node: Copying921003 +Node: GNU Free Documentation License940179 +Node: Contributors962579 +Node: Option Index990098 +Node: Keyword Index1066841  End Tag Table