This is doc/gcc.info, produced by makeinfo version 4.0b from
doc/gcc.texi.

INFO-DIR-SECTION Programming
START-INFO-DIR-ENTRY
* gcc: (gcc).                  The GNU Compiler Collection.
END-INFO-DIR-ENTRY
   This file documents the use and the internals of the GNU compiler.


   Published by the Free Software Foundation
59 Temple Place - Suite 330
Boston, MA 02111-1307 USA


   Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001 Free Software Foundation, Inc.


   Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Funding Free
Software", the Front-Cover texts being (a) (see below), and with the
Back-Cover Texts being (b) (see below).  A copy of the license is
included in the section entitled "GNU Free Documentation License".

   (a) The FSF's Front-Cover Text is:

   A GNU Manual

   (b) The FSF's Back-Cover Text is:

   You have freedom to copy and modify this GNU Manual, like GNU
software.  Copies published by the Free Software Foundation raise
funds for GNU development.


Indirect:
gcc.info-1: 1240
gcc.info-2: 44377
gcc.info-3: 73823
gcc.info-4: 106198
gcc.info-5: 128912
gcc.info-6: 175188
gcc.info-7: 223281
gcc.info-8: 272370
gcc.info-9: 319737
gcc.info-10: 361434
gcc.info-11: 410141
gcc.info-12: 459701
gcc.info-13: 506088
gcc.info-14: 544794
gcc.info-15: 593943
gcc.info-16: 641088
gcc.info-17: 689435
gcc.info-18: 736133
gcc.info-19: 785505
gcc.info-20: 835346
gcc.info-21: 884790
gcc.info-22: 929704
gcc.info-23: 977308
gcc.info-24: 1026710
gcc.info-25: 1046477
gcc.info-26: 1092431
gcc.info-27: 1137774
gcc.info-28: 1172804
gcc.info-29: 1221760
gcc.info-30: 1271517
gcc.info-31: 1321442
gcc.info-32: 1364186
gcc.info-33: 1412091
gcc.info-34: 1456204
gcc.info-35: 1503627
gcc.info-36: 1552658
gcc.info-37: 1597066
gcc.info-38: 1614033
gcc.info-39: 1677620

Tag Table:
(Indirect)
Node: Top1240
Node: G++ and GCC3463
Node: Standards6044
Node: Invoking GCC12854
Node: Option Summary16499
Node: Overall Options36226
Node: Invoking G++42931
Node: C Dialect Options44377
Node: C++ Dialect Options57027
Node: Objective-C Dialect Options70412
Node: Language Independent Options72035
Node: Warning Options73823
Node: Debugging Options106198
Node: Optimize Options128912
Node: Preprocessor Options156652
Node: Assembler Options167086
Node: Link Options167453
Ref: Link Options-Footnote-1174852
Node: Directory Options175188
Node: Spec Files180270
Node: Target Options197776
Node: Submodel Options201763
Node: M680x0 Options203478
Node: M68hc1x Options209485
Node: VAX Options210665
Node: SPARC Options211201
Node: Convex Options221100
Node: AMD29K Options223281
Node: ARM Options226677
Node: MN10200 Options239198
Node: MN10300 Options239720
Node: M32R/D Options240771
Node: M88K Options243218
Node: RS/6000 and PowerPC Options251142
Node: RT Options270667
Node: MIPS Options272370
Node: i386 and x86-64 Options284051
Node: HPPA Options312719
Node: Intel 960 Options316795
Node: DEC Alpha Options319737
Node: Clipper Options328950
Node: H8/300 Options329350
Node: SH Options330279
Node: System V Options332595
Node: TMS320C3x/C4x Options333413
Node: V850 Options338925
Node: ARC Options340934
Node: NS32K Options342135
Node: AVR Options346384
Node: MCore Options348095
Node: IA-64 Options349239
Node: D30V Options351627
Node: S/390 and zSeries Options352870
Node: CRIS Options354803
Node: MMIX Options358837
Node: PDP-10 Options360389
Node: Code Gen Options361434
Node: Environment Variables378566
Node: Running Protoize384904
Node: Installation391261
Node: Configuration Files394846
Node: Configurations396450
Node: Cross-Compiler400674
Node: Steps of Cross402433
Node: Configure Cross403551
Node: Tools and Libraries404188
Node: Cross Headers406627
Node: Build Cross408635
Node: VMS Install410141
Node: Collect2419700
Node: Header Dirs422265
Node: C Implementation423706
Node: Translation implementation424640
Node: Environment implementation425008
Node: Identifiers implementation425301
Node: Characters implementation425704
Node: Integers implementation427561
Node: Floating point implementation428413
Node: Arrays and pointers implementation430262
Ref: Arrays and pointers implementation-Footnote-1431565
Node: Hints implementation431691
Node: Structures unions enumerations and bit-fields implementation432120
Node: Qualifiers implementation432929
Node: Preprocessing directives implementation433240
Node: Library functions implementation434857
Node: Architecture implementation435182
Node: Locale-specific behavior implementation435747
Node: C Extensions436045
Node: Statement Exprs440073
Node: Local Labels443165
Node: Labels as Values445230
Ref: Labels as Values-Footnote-1447289
Node: Nested Functions447474
Node: Constructing Calls451313
Node: Naming Types453400
Node: Typeof454494
Node: Lvalues456370
Node: Conditionals458810
Node: Long Long459701
Node: Complex461200
Node: Hex Floats463868
Node: Zero Length464897
Node: Variable Length467941
Node: Variadic Macros470703
Node: Escaped Newlines473093
Node: Multi-line Strings473976
Node: Subscripting474580
Node: Pointer Arith475308
Node: Initializers475873
Node: Compound Literals476356
Node: Designated Inits478395
Node: Case Ranges482069
Node: Cast to Union482749
Node: Mixed Declarations483832
Node: Function Attributes484327
Node: Attribute Syntax506088
Node: Function Prototypes516465
Node: C++ Comments518258
Node: Dollar Signs518853
Node: Character Escapes519311
Node: Alignment519598
Node: Variable Attributes521137
Node: Type Attributes530770
Node: Inline540058
Node: Extended Asm544794
Node: Asm Labels561910
Node: Explicit Reg Vars563587
Node: Global Reg Vars565041
Node: Local Reg Vars569606
Node: Alternate Keywords571406
Node: Incomplete Enums573093
Node: Function Names573849
Node: Return Address576176
Node: Vector Extensions578755
Node: Other Builtins581640
Node: Pragmas587869
Node: ARM Pragmas588296
Node: Darwin Pragmas588890
Node: Unnamed Fields589905
Node: C++ Extensions590976
Node: Min and Max592537
Node: Volatiles593943
Node: Restricted Pointers597313
Node: Vague Linkage598883
Node: C++ Interface602541
Ref: C++ Interface-Footnote-1607629
Node: Template Instantiation607768
Node: Bound member functions616599
Node: C++ Attributes618150
Node: Java Exceptions619754
Node: Deprecated Features621151
Node: Backwards Compatibility622795
Node: Objective-C624143
Node: Executing code before main624713
Node: What you can and what you cannot do in +load627351
Node: Type encoding629517
Node: Garbage Collection632769
Node: Constant string objects635433
Node: compatibility_alias637067
Node: Gcov637946
Node: Gcov Intro638413
Node: Invoking Gcov641088
Node: Gcov and Optimization647162
Node: Gcov Data Files648579
Node: Trouble652144
Node: Actual Bugs653738
Node: Cross-Compiler Problems654646
Node: Interoperation656107
Node: External Bugs668345
Node: Incompatibilities669837
Node: Fixed Headers679445
Node: Standard Libraries681754
Node: Disappointments683124
Node: C++ Misunderstandings687662
Node: Static Definitions688388
Node: Temporaries689435
Node: Copy Assignment691412
Node: Protoize Caveats693230
Node: Non-bugs697185
Node: Warnings and Errors707077
Node: Bugs708837
Node: Bug Criteria710190
Node: Bug Lists712614
Node: Bug Reporting713173
Node: gccbug725276
Node: Service726096
Node: Contributing726842
Node: VMS727581
Node: Include Files and VMS727964
Node: Global Declarations731829
Node: VMS Misc736133
Node: Makefile740436
Node: Portability747095
Node: Interface748849
Node: Passes753088
Node: Trees776750
Node: Deficiencies779490
Node: Tree overview779720
Node: Macros and Functions783855
Node: Identifiers783989
Node: Containers785505
Node: Types786649
Node: Scopes798429
Node: Namespaces799185
Node: Classes801989
Node: Declarations806586
Node: Functions812640
Node: Function Basics815170
Node: Function Bodies821916
Node: Attributes835346
Node: Expression trees836579
Node: RTL860164
Node: RTL Objects862195
Node: RTL Classes866100
Node: Accessors870606
Node: Flags872986
Node: Machine Modes884790
Node: Constants893520
Node: Regs and Memory898752
Node: Arithmetic911620
Node: Comparisons918276
Node: Bit-Fields922396
Node: Vector Operations923814
Node: Conversions925588
Node: RTL Declarations928895
Node: Side Effects929704
Node: Incdec944844
Node: Assembler948397
Node: Insns949919
Node: Calls974714
Node: Sharing977308
Node: Reading RTL980273
Node: Machine Desc981256
Node: Overview983460
Node: Patterns985499
Node: Example988735
Node: RTL Template990166
Node: Output Template1002630
Node: Output Statement1006612
Node: Constraints1010583
Node: Simple Constraints1011514
Node: Multi-Alternative1023875
Node: Class Preferences1026710
Node: Modifiers1027590
Node: Machine Constraints1031248
Node: Standard Names1046477
Ref: prologue instruction pattern1086006
Ref: epilogue instruction pattern1086499
Node: Pattern Ordering1088389
Node: Dependent Patterns1089616
Node: Jump Patterns1092431
Node: Looping Patterns1098178
Node: Insn Canonicalizations1102781
Node: Expander Definitions1106279
Node: Insn Splitting1114411
Node: Peephole Definitions1124029
Node: define_peephole1125272
Node: define_peephole21131618
Node: Insn Attributes1134679
Node: Defining Attributes1135762
Node: Expressions1137774
Node: Tagging Insns1144363
Node: Attr Example1148725
Node: Insn Lengths1151101
Node: Constant Attributes1154360
Node: Delay Slots1155520
Node: Function Units1158731
Node: Conditional Execution1164401
Node: Constant Definitions1167257
Node: Target Macros1168835
Node: Target Structure1171516
Node: Driver1172804
Node: Run-time Target1192243
Node: Per-Function Data1199273
Node: Storage Layout1202534
Node: Type Layout1221760
Node: Escape Sequences1232446
Node: Registers1233358
Node: Register Basics1234278
Node: Allocation Order1239879
Node: Values in Registers1241292
Node: Leaf Functions1246760
Node: Stack Registers1249546
Node: Register Classes1250343
Node: Stack and Calling1271024
Node: Frame Layout1271517
Node: Exception Handling1278379
Node: Stack Checking1282878
Node: Frame Registers1286432
Node: Elimination1290846
Node: Stack Arguments1295101
Node: Register Arguments1302061
Node: Scalar Return1313490
Node: Aggregate Return1317728
Node: Caller Saves1321442
Node: Function Entry1322979
Node: Profiling1334850
Node: Tail Calls1343172
Node: Varargs1343760
Node: Trampolines1351435
Node: Library Calls1358667
Node: Addressing Modes1364186
Node: Condition Code1375460
Node: Costs1382783
Node: Scheduling1394937
Node: Sections1400450
Node: PIC1408315
Node: Assembler Format1411024
Node: File Framework1412091
Node: Data Output1416948
Node: Uninitialized Data1425369
Node: Label Output1430766
Node: Initialization1445028
Node: Macros for Initialization1451006
Node: Instruction Output1456204
Node: Dispatch Tables1465236
Node: Exception Region Output1467788
Node: Alignment Output1472100
Node: Debugging Info1475972
Node: All Debuggers1476581
Node: DBX Options1479390
Node: DBX Hooks1484762
Node: File Names and DBX1488408
Node: SDB and DWARF1490381
Node: Cross-compilation1493801
Node: Mode Switching1500377
Node: Target Attributes1503627
Node: Misc1507461
Node: Config1536611
Node: Fragments1544645
Node: Target Fragment1545240
Node: Host Fragment1549799
Node: Funding1550159
Node: GNU/Linux1552658
Node: Copying1557973
Node: GNU Free Documentation License1577182
Node: Contributors1597066
Node: Option Index1614033
Node: Index1677620

End Tag Table
