[
Top
]
[
Contents
]
[
Index
]
[
?
]
Table of Contents
1. Compile C, C++, Objective C, or Fortran
2. GCC Command Options
2.1 Option Summary
2.2 Options Controlling the Kind of Output
2.3 Compiling C++ Programs
2.4 Options Controlling C Dialect
2.5 Options Controlling C++ Dialect
2.6 Options to Request or Suppress Warnings
2.7 Options for Debugging Your Program or GCC
2.8 Options That Control Optimization
2.9 Options Controlling the Preprocessor
2.10 Passing Options to the Assembler
2.11 Options for Linking
2.12 Options for Directory Search
2.13 Specifying Target Machine and Compiler Version
2.14 Hardware Models and Configurations
2.14.1 M680x0 Options
2.14.2 VAX Options
2.14.3 SPARC Options
2.14.4 Convex Options
2.14.5 AMD29K Options
2.14.6 ARM Options
2.14.7 Thumb Options
2.14.8 MN10200 Options
2.14.9 MN10300 Options
2.14.10 M32R/D Options
2.14.11 M88K Options
2.14.12 IBM RS/6000 and PowerPC Options
2.14.13 IBM RT Options
2.14.14 MIPS Options
2.14.15 Intel 386 Options
2.14.16 HPPA Options
2.14.17 Intel 960 Options
2.14.18 DEC Alpha Options
2.14.19 Clipper Options
2.14.20 H8/300 Options
2.14.21 SH Options
2.14.22 Options for System V
2.14.23 TMS320C3x/C4x Options
2.14.24 V850 Options
2.14.25 ARC Options
2.14.26 NS32K Options
2.15 Options for Code Generation Conventions
2.16 Environment Variables Affecting GCC
2.17 Running Protoize
3. Installing GNU CC
3.1 Files Created by
configure
3.2 Configurations Supported by GNU CC
3.3 Compilation in a Separate Directory
3.4 Building and Installing a Cross-Compiler
3.4.1 Steps of Cross-Compilation
3.4.2 Configuring a Cross-Compiler
3.4.3 Tools and Libraries for a Cross-Compiler
3.4.4
`libgcc.a'
and Cross-Compilers
3.4.5 Cross-Compilers and Header Files
3.4.6 Actually Building the Cross-Compiler
3.5 Installing GNU CC on the Sun
3.6 Installing GNU CC on VMS
3.7
collect2
3.8 Standard Header File Directories
4. Extensions to the C Language Family
4.1 Statements and Declarations in Expressions
4.2 Locally Declared Labels
4.3 Labels as Values
4.4 Nested Functions
4.5 Constructing Function Calls
4.6 Naming an Expression's Type
4.7 Referring to a Type with
typeof
4.8 Generalized Lvalues
4.9 Conditionals with Omitted Operands
4.10 Double-Word Integers
4.11 Complex Numbers
4.12 Hex Floats
4.13 Arrays of Length Zero
4.14 Arrays of Variable Length
4.15 Macros with Variable Numbers of Arguments
4.16 Non-Lvalue Arrays May Have Subscripts
4.17 Arithmetic on
void
- and Function-Pointers
4.18 Non-Constant Initializers
4.19 Constructor Expressions
4.20 Labeled Elements in Initializers
4.21 Case Ranges
4.22 Cast to a Union Type
4.23 Declaring Attributes of Functions
4.24 Prototypes and Old-Style Function Definitions
4.25 C++ Style Comments
4.26 Dollar Signs in Identifier Names
4.27 The Character
ESC
in Constants
4.28 Inquiring on Alignment of Types or Variables
4.29 Specifying Attributes of Variables
4.30 Specifying Attributes of Types
4.31 An Inline Function is As Fast As a Macro
4.32 Assembler Instructions with C Expression Operands
4.32.1 i386 floating point asm operands
4.33 Controlling Names Used in Assembler Code
4.34 Variables in Specified Registers
4.34.1 Defining Global Register Variables
4.34.2 Specifying Registers for Local Variables
4.35 Alternate Keywords
4.36 Incomplete
enum
Types
4.37 Function Names as Strings
4.38 Getting the Return or Frame Address of a Function
4.39 Other built-in functions provided by GNU CC
4.40 Deprecated Features
5. Extensions to the C++ Language
5.1 Named Return Values in C++
5.2 Minimum and Maximum Operators in C++
5.3
goto
and Destructors in GNU C++
5.4 Declarations and Definitions in One Header
5.5 Where's the Template?
5.6 Extracting the function pointer from a bound pointer to member function
5.7 Type Abstraction using Signatures
6.
gcov
: a Test Coverage Program
6.1 Introduction to
gcov
6.2 Invoking gcov
6.3 Using
gcov
with GCC Optimization
6.4 Brief description of
gcov
data files
7. Known Causes of Trouble with GCC
7.1 Actual Bugs We Haven't Fixed Yet
7.2 Installation Problems
7.3 Cross-Compiler Problems
7.4 Interoperation
7.5 Problems Compiling Certain Programs
7.6 Incompatibilities of GCC
7.7 Fixed Header Files
7.8 Standard Libraries
7.9 Disappointments and Misunderstandings
7.10 Common Misunderstandings with GNU C++
7.10.1 Declare
and
Define Static Members
7.10.2 Temporaries May Vanish Before You Expect
7.10.3 Implicit Copy-Assignment for Virtual Bases
7.11 Caveats of using
protoize
7.12 Certain Changes We Don't Want to Make
7.13 Warning Messages and Error Messages
8. Reporting Bugs
8.1 Have You Found a Bug?
8.2 Where to Report Bugs
8.3 How to Report Bugs
8.4 Sending Patches for GCC
9. How To Get Help with GCC
10. Contributing to GCC Development
11. Using GCC on VMS
11.1 Include Files and VMS
11.2 Global Declarations and VMS
11.3 Other VMS Issues
12. GCC and Portability
13. Interfacing to GCC Output
14. Passes and Files of the Compiler
15. RTL Representation
15.1 RTL Object Types
15.2 RTL Classes and Formats
15.3 Access to Operands
15.4 Flags in an RTL Expression
15.5 Machine Modes
15.6 Constant Expression Types
15.7 Registers and Memory
15.8 RTL Expressions for Arithmetic
15.9 Comparison Operations
15.10 Bit Fields
15.11 Conversions
15.12 Declarations
15.13 Side Effect Expressions
15.14 Embedded Side-Effects on Addresses
15.15 Assembler Instructions as Expressions
15.16 Insns
15.17 RTL Representation of Function-Call Insns
15.18 Structure Sharing Assumptions
15.19 Reading RTL
16. Machine Descriptions
16.1 Everything about Instruction Patterns
16.2 Example of
define_insn
16.3 RTL Template
16.4 Output Templates and Operand Substitution
16.5 C Statements for Assembler Output
16.6 Operand Constraints
16.6.1 Simple Constraints
16.6.2 Multiple Alternative Constraints
16.6.3 Register Class Preferences
16.6.4 Constraint Modifier Characters
16.6.5 Constraints for Particular Machines
16.6.6 Not Using Constraints
16.7 Standard Pattern Names For Generation
16.8 When the Order of Patterns Matters
16.9 Interdependence of Patterns
16.10 Defining Jump Instruction Patterns
16.11 Canonicalization of Instructions
16.12 Machine-Specific Peephole Optimizers
16.13 Defining RTL Sequences for Code Generation
16.14 Defining How to Split Instructions
16.15 Instruction Attributes
16.15.1 Defining Attributes and their Values
16.15.2 Attribute Expressions
16.15.3 Assigning Attribute Values to Insns
16.15.4 Example of Attribute Specifications
16.15.5 Computing the Length of an Insn
16.15.6 Constant Attributes
16.15.7 Delay Slot Scheduling
16.15.8 Specifying Function Units
17. Target Description Macros
17.1 Controlling the Compilation Driver,
`gcc'
17.2 Run-time Target Specification
17.3 Storage Layout
17.4 Layout of Source Language Data Types
17.5 Register Usage
17.5.1 Basic Characteristics of Registers
17.5.2 Order of Allocation of Registers
17.5.3 How Values Fit in Registers
17.5.4 Handling Leaf Functions
17.5.5 Registers That Form a Stack
17.5.6 Obsolete Macros for Controlling Register Usage
17.6 Register Classes
17.7 Stack Layout and Calling Conventions
17.7.1 Basic Stack Layout
17.7.2 Specifying How Stack Checking is Done
17.7.3 Registers That Address the Stack Frame
17.7.4 Eliminating Frame Pointer and Arg Pointer
17.7.5 Passing Function Arguments on the Stack
17.7.6 Passing Arguments in Registers
17.7.7 How Scalar Function Values Are Returned
17.7.8 How Large Values Are Returned
17.7.9 Caller-Saves Register Allocation
17.7.10 Function Entry and Exit
17.7.11 Generating Code for Profiling
17.8 Implementing the Varargs Macros
17.9 Trampolines for Nested Functions
17.10 Implicit Calls to Library Routines
17.11 Addressing Modes
17.12 Condition Code Status
17.13 Describing Relative Costs of Operations
17.14 Dividing the Output into Sections (Texts, Data,
...
)
17.15 Position Independent Code
17.16 Defining the Output Assembler Language
17.16.1 The Overall Framework of an Assembler File
17.16.2 Output of Data
17.16.3 Output of Uninitialized Variables
17.16.4 Output and Generation of Labels
17.16.5 How Initialization Functions Are Handled
17.16.6 Macros Controlling Initialization Routines
17.16.7 Output of Assembler Instructions
17.16.8 Output of Dispatch Tables
17.16.9 Assembler Commands for Exception Regions
17.16.10 Assembler Commands for Alignment
17.17 Controlling Debugging Information Format
17.17.1 Macros Affecting All Debugging Formats
17.17.2 Specific Options for DBX Output
17.17.3 Open-Ended Hooks for DBX Format
17.17.4 File Names in DBX Format
17.17.5 Macros for SDB and DWARF Output
17.18 Cross Compilation and Floating Point
17.19 Miscellaneous Parameters
18. The Configuration File
19. Makefile Fragments
19.1 The Target Makefile Fragment
19.2 The Host Makefile Fragment
Funding Free Software
Linux and the GNU Project
GNU GENERAL PUBLIC LICENSE
Preamble
How to Apply These Terms to Your New Programs
Contributors to GCC
Index
This document was generated by
GCC Administrator
on
March, 17 2001
using
texi2html