This is doc/gcc-300.info, produced by makeinfo version 4.1 from doc/gcc.texi. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY * gcc-300: (gcc-300). The GNU Compiler Collection (Version 3.0). 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-300.info-1: 1258 gcc-300.info-2: 42750 gcc-300.info-3: 73356 gcc-300.info-4: 105541 gcc-300.info-5: 151843 gcc-300.info-6: 197233 gcc-300.info-7: 244834 gcc-300.info-8: 293765 gcc-300.info-9: 335793 gcc-300.info-10: 384231 gcc-300.info-11: 432733 gcc-300.info-12: 480961 gcc-300.info-13: 530275 gcc-300.info-14: 579946 gcc-300.info-15: 624256 gcc-300.info-16: 667832 gcc-300.info-17: 708098 gcc-300.info-18: 757142 gcc-300.info-19: 792046 gcc-300.info-20: 838025 gcc-300.info-21: 881355 gcc-300.info-22: 931311 gcc-300.info-23: 977670 gcc-300.info-24: 995426 gcc-300.info-25: 1039905 gcc-300.info-26: 1084339 gcc-300.info-27: 1117502 gcc-300.info-28: 1164908 gcc-300.info-29: 1212163 gcc-300.info-30: 1261874 gcc-300.info-31: 1305505 gcc-300.info-32: 1351805 gcc-300.info-33: 1401025 gcc-300.info-34: 1435752 gcc-300.info-35: 1484037 gcc-300.info-36: 1528457 gcc-300.info-37: 1545392 gcc-300.info-38: 1607363  Tag Table: (Indirect) Node: Top1258 Node: G++ and GCC3406 Node: Standards5821 Node: Invoking GCC12275 Node: Option Summary15924 Node: Overall Options35176 Node: Invoking G++41300 Node: C Dialect Options42750 Node: C++ Dialect Options56977 Node: Objective-C Dialect Options69937 Node: Language Independent Options71564 Node: Warning Options73356 Node: Debugging Options105541 Node: Optimize Options127255 Node: Preprocessor Options151843 Node: Assembler Options162084 Node: Link Options162455 Ref: Link Options-Footnote-1169712 Node: Directory Options170048 Node: Spec Files174058 Node: Target Options191568 Node: Submodel Options195559 Node: M680x0 Options197233 Node: M68hc1x Options203244 Node: VAX Options204428 Node: SPARC Options204968 Node: Convex Options214856 Node: AMD29K Options217041 Node: ARM Options220441 Node: MN10200 Options232966 Node: MN10300 Options233492 Node: M32R/D Options234547 Node: M88K Options236900 Node: RS/6000 and PowerPC Options244834 Node: RT Options264386 Node: MIPS Options266093 Node: i386 Options276282 Node: HPPA Options286750 Node: Intel 960 Options290819 Node: DEC Alpha Options293765 Node: Clipper Options303163 Node: H8/300 Options303567 Node: SH Options304500 Node: System V Options306820 Node: TMS320C3x/C4x Options307642 Node: V850 Options313158 Node: ARC Options315171 Node: NS32K Options316376 Node: AVR Options320629 Node: MCore Options322344 Node: IA-64 Options323492 Node: D30V Options325884 Node: S/390 and zSeries Options327131 Node: Xtensa Options329070 Node: Code Gen Options335793 Node: Environment Variables352627 Node: Running Protoize358969 Node: Installation365330 Node: Configuration Files368915 Node: Configurations370523 Node: Cross-Compiler374751 Node: Steps of Cross376514 Node: Configure Cross377636 Node: Tools and Libraries378277 Node: Cross Headers380720 Node: Build Cross382721 Node: VMS Install384231 Node: Collect2394168 Node: Header Dirs396737 Node: C Extensions398164 Node: Statement Exprs401990 Node: Local Labels405086 Node: Labels as Values407155 Ref: Labels as Values-Footnote-1409218 Node: Nested Functions409403 Node: Constructing Calls413246 Node: Naming Types415337 Node: Typeof416435 Node: Lvalues418315 Node: Conditionals420759 Node: Long Long421654 Node: Complex423157 Node: Hex Floats425829 Node: Zero Length426862 Node: Variable Length429967 Node: Variadic Macros432733 Node: Escaped Newlines435127 Node: Multi-line Strings436014 Node: Subscripting436622 Node: Pointer Arith437259 Node: Initializers437828 Node: Compound Literals438315 Node: Designated Inits440358 Node: Case Ranges444036 Node: Cast to Union444720 Node: Mixed Declarations445807 Node: Function Attributes446306 Node: Attribute Syntax467670 Node: Function Prototypes476485 Node: C++ Comments478285 Node: Dollar Signs478884 Node: Character Escapes479346 Node: Alignment479637 Node: Variable Attributes480961 Node: Type Attributes490598 Node: Inline499890 Node: Extended Asm504630 Node: Asm Labels520763 Node: Explicit Reg Vars522444 Node: Global Reg Vars523902 Node: Local Reg Vars528471 Node: Alternate Keywords530275 Node: Incomplete Enums531966 Node: Function Names532726 Node: Return Address535167 Node: Other Builtins537313 Node: C++ Extensions543388 Node: Min and Max544953 Node: Volatiles546363 Node: Restricted Pointers549737 Node: Vague Linkage551311 Node: C++ Interface554973 Ref: C++ Interface-Footnote-1560065 Node: Template Instantiation560204 Node: Bound member functions569038 Node: C++ Attributes570593 Node: Java Exceptions572201 Node: Deprecated Features573610 Node: Backwards Compatibility575378 Node: Objective C576730 Node: Executing code before main577304 Node: What you can and what you cannot do in +load579946 Node: Type encoding582116 Node: Garbage Collection585372 Node: Constant string objects588040 Node: compatibility_alias589678 Node: Gcov590561 Node: Gcov Intro591082 Node: Invoking Gcov593761 Node: Gcov and Optimization599503 Node: Gcov Data Files600924 Node: Trouble604493 Node: Actual Bugs606091 Node: Cross-Compiler Problems607003 Node: Interoperation608468 Node: External Bugs622760 Node: Incompatibilities624256 Node: Fixed Headers633868 Node: Standard Libraries636181 Node: Disappointments637555 Node: C++ Misunderstandings642281 Node: Static Definitions643011 Node: Temporaries644062 Node: Copy Assignment646043 Node: Protoize Caveats647865 Node: Non-bugs651824 Node: Warnings and Errors661720 Node: Bugs663484 Node: Bug Criteria664841 Node: Bug Lists667269 Node: Bug Reporting667832 Node: gccbug679939 Node: Service680763 Node: Contributing681513 Node: VMS682222 Node: Include Files and VMS682609 Node: Global Declarations686478 Node: VMS Misc690786 Node: Makefile695093 Node: Portability701756 Node: Interface703514 Node: Passes708098 Node: Trees730953 Node: Deficiencies733697 Node: Tree overview733931 Node: Macros and Functions738070 Node: Identifiers738208 Node: Containers739728 Node: Types740876 Node: Scopes752660 Node: Namespaces753420 Node: Classes757142 Node: Declarations761789 Node: Functions767847 Node: Function Basics770381 Node: Function Bodies777131 Node: Attributes790653 Node: Expression trees792046 Node: RTL814499 Node: RTL Objects816534 Node: RTL Classes819571 Node: Accessors824081 Node: Flags826465 Node: Machine Modes838025 Node: Constants845813 Node: Regs and Memory850998 Node: Arithmetic863642 Node: Comparisons869907 Node: Bit-Fields874031 Node: Vector Operations875453 Node: Conversions877231 Node: RTL Declarations880542 Node: Side Effects881355 Node: Incdec896209 Node: Assembler899766 Node: Insns901292 Node: Calls925744 Node: Sharing928342 Node: Reading RTL931311 Node: Machine Desc932258 Node: Overview934466 Node: Patterns936509 Node: Example939749 Node: RTL Template940881 Node: Output Template953350 Node: Output Statement957336 Node: Constraints961052 Node: Simple Constraints961987 Node: Multi-Alternative973947 Node: Class Preferences976786 Node: Modifiers977670 Node: Machine Constraints981332 Node: Standard Names995426 Node: Pattern Ordering1035855 Node: Dependent Patterns1037086 Node: Jump Patterns1039905 Node: Looping Patterns1045656 Node: Insn Canonicalizations1050253 Node: Expander Definitions1053755 Node: Insn Splitting1061891 Node: Peephole Definitions1070545 Node: define_peephole1071792 Node: define_peephole21078171 Node: Insn Attributes1081236 Node: Defining Attributes1082323 Node: Expressions1084339 Node: Tagging Insns1090932 Node: Attr Example1095298 Node: Insn Lengths1097678 Node: Constant Attributes1100975 Node: Delay Slots1102139 Node: Function Units1105354 Node: Conditional Execution1111028 Node: Constant Definitions1113888 Node: Target Macros1115470 Node: Driver1117502 Node: Run-time Target1135941 Node: Per-Function Data1142975 Node: Storage Layout1146240 Node: Type Layout1164908 Node: Registers1174758 Node: Register Basics1175677 Node: Allocation Order1180881 Node: Values in Registers1182298 Node: Leaf Functions1187419 Node: Stack Registers1190188 Node: Register Classes1190989 Node: Stack and Calling1211674 Node: Frame Layout1212163 Node: Stack Checking1221937 Node: Frame Registers1225473 Node: Elimination1229891 Node: Stack Arguments1234150 Node: Register Arguments1241127 Node: Scalar Return1252373 Node: Aggregate Return1256615 Node: Caller Saves1260333 Node: Function Entry1261874 Node: Profiling1272799 Node: Inlining1281041 Node: Tail Calling1281597 Node: Varargs1282190 Node: Trampolines1289869 Node: Library Calls1297078 Node: Addressing Modes1305505 Node: Condition Code1316783 Node: Costs1323644 Node: Sections1336562 Node: PIC1343881 Node: Assembler Format1346594 Node: File Framework1347665 Node: Data Output1351805 Node: Uninitialized Data1359583 Node: Label Output1364984 Node: Initialization1378161 Node: Macros for Initialization1384305 Node: Instruction Output1389566 Node: Dispatch Tables1398469 Node: Exception Region Output1401025 Node: Alignment Output1404528 Node: Debugging Info1408089 Node: All Debuggers1408702 Node: DBX Options1411515 Node: DBX Hooks1416891 Node: File Names and DBX1420541 Node: SDB and DWARF1422518 Node: Cross-compilation1425931 Node: Mode Switching1432511 Node: Misc1435752 Node: Config1467724 Node: Fragments1475412 Node: Target Fragment1476011 Node: Host Fragment1480928 Node: Funding1481534 Node: GNU/Linux1484037 Node: Copying1489356 Node: GNU Free Documentation License1508569 Node: Contributors1528457 Node: Option Index1545392 Node: Index1607363  End Tag Table