| <html lang="en"> |
| <head> |
| <title>Using the GNU Compiler Collection (GCC)</title> |
| <meta http-equiv="Content-Type" content="text/html"> |
| <meta name="description" content="Using the GNU Compiler Collection (GCC)"> |
| <meta name="generator" content="makeinfo 4.13"> |
| <link title="Top" rel="start" href="#Top"> |
| <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> |
| <!-- |
| Copyright (C) 1988-2013 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.3 or |
| any later version published by the Free Software Foundation; with the |
| Invariant Sections being "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.--> |
| <meta http-equiv="Content-Style-Type" content="text/css"> |
| <style type="text/css"><!-- |
| pre.display { font-family:inherit } |
| pre.format { font-family:inherit } |
| pre.smalldisplay { font-family:inherit; font-size:smaller } |
| pre.smallformat { font-family:inherit; font-size:smaller } |
| pre.smallexample { font-size:smaller } |
| pre.smalllisp { font-size:smaller } |
| span.sc { font-variant:small-caps } |
| span.roman { font-family:serif; font-weight:normal; } |
| span.sansserif { font-family:sans-serif; font-weight:normal; } |
| --></style> |
| </head> |
| <body> |
| This file documents the use of the GNU compilers. |
| <pre class="sp"> |
| |
| </pre> |
| Copyright © 1988-2013 Free Software Foundation, Inc. |
| |
| <p>Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.3 or |
| any later version published by the Free Software Foundation; with the |
| Invariant Sections being “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”. |
| |
| <p>(a) The FSF's Front-Cover Text is: |
| |
| <p>A GNU Manual |
| |
| <p>(b) The FSF's Back-Cover Text is: |
| |
| <p>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. |
| <pre class="sp"> |
| |
| </pre> |
| |
| <div class="shortcontents"> |
| <h2>Short Contents</h2> |
| <ul> |
| <li><a href="index.html#toc_Top">Introduction</a></li> |
| <li><a href="index.html#toc_G_002b_002b-and-GCC">1 Programming Languages Supported by GCC</a></li> |
| <li><a href="index.html#toc_Standards">2 Language Standards Supported by GCC</a></li> |
| <li><a href="index.html#toc_Invoking-GCC">3 GCC Command Options</a></li> |
| <li><a href="index.html#toc_C-Implementation">4 C Implementation-defined behavior</a></li> |
| <li><a href="index.html#toc_C_002b_002b-Implementation">5 C++ Implementation-defined behavior</a></li> |
| <li><a href="index.html#toc_C-Extensions">6 Extensions to the C Language Family</a></li> |
| <li><a href="index.html#toc_C_002b_002b-Extensions">7 Extensions to the C++ Language</a></li> |
| <li><a href="index.html#toc_Objective_002dC">8 GNU Objective-C features</a></li> |
| <li><a href="index.html#toc_Compatibility">9 Binary Compatibility</a></li> |
| <li><a href="index.html#toc_Gcov">10 <samp><span class="command">gcov</span></samp>—a Test Coverage Program</a></li> |
| <li><a href="index.html#toc_Trouble">11 Known Causes of Trouble with GCC</a></li> |
| <li><a href="index.html#toc_Bugs">12 Reporting Bugs</a></li> |
| <li><a href="index.html#toc_Service">13 How To Get Help with GCC</a></li> |
| <li><a href="index.html#toc_Contributing">14 Contributing to GCC Development</a></li> |
| <li><a href="index.html#toc_Funding">Funding Free Software</a></li> |
| <li><a href="index.html#toc_GNU-Project">The GNU Project and GNU/Linux</a></li> |
| <li><a href="index.html#toc_Copying">GNU General Public License</a></li> |
| <li><a href="index.html#toc_GNU-Free-Documentation-License">GNU Free Documentation License</a></li> |
| <li><a href="index.html#toc_Contributors">Contributors to GCC</a></li> |
| <li><a href="index.html#toc_Option-Index">Option Index</a></li> |
| <li><a href="index.html#toc_Keyword-Index">Keyword Index</a></li> |
| </ul> |
| </div> |
| |
| |
| |
| <div class="contents"> |
| <h2>Table of Contents</h2> |
| <ul> |
| <li><a name="toc_Top" href="index.html#Top">Introduction</a> |
| <li><a name="toc_G_002b_002b-and-GCC" href="G_002b_002b-and-GCC.html#G_002b_002b-and-GCC">1 Programming Languages Supported by GCC</a> |
| <li><a name="toc_Standards" href="Standards.html#Standards">2 Language Standards Supported by GCC</a> |
| <ul> |
| <li><a href="Standards.html#Standards">2.1 C language</a> |
| <li><a href="Standards.html#Standards">2.2 C++ language</a> |
| <li><a href="Standards.html#Standards">2.3 Objective-C and Objective-C++ languages</a> |
| <li><a href="Standards.html#Standards">2.4 Go language</a> |
| <li><a href="Standards.html#Standards">2.5 References for other languages</a> |
| </li></ul> |
| <li><a name="toc_Invoking-GCC" href="Invoking-GCC.html#Invoking-GCC">3 GCC Command Options</a> |
| <ul> |
| <li><a href="Option-Summary.html#Option-Summary">3.1 Option Summary</a> |
| <li><a href="Overall-Options.html#Overall-Options">3.2 Options Controlling the Kind of Output</a> |
| <li><a href="Invoking-G_002b_002b.html#Invoking-G_002b_002b">3.3 Compiling C++ Programs</a> |
| <li><a href="C-Dialect-Options.html#C-Dialect-Options">3.4 Options Controlling C Dialect</a> |
| <li><a href="C_002b_002b-Dialect-Options.html#C_002b_002b-Dialect-Options">3.5 Options Controlling C++ Dialect</a> |
| <li><a href="Objective_002dC-and-Objective_002dC_002b_002b-Dialect-Options.html#Objective_002dC-and-Objective_002dC_002b_002b-Dialect-Options">3.6 Options Controlling Objective-C and Objective-C++ Dialects</a> |
| <li><a href="Language-Independent-Options.html#Language-Independent-Options">3.7 Options to Control Diagnostic Messages Formatting</a> |
| <li><a href="Warning-Options.html#Warning-Options">3.8 Options to Request or Suppress Warnings</a> |
| <li><a href="Debugging-Options.html#Debugging-Options">3.9 Options for Debugging Your Program or GCC</a> |
| <li><a href="Optimize-Options.html#Optimize-Options">3.10 Options That Control Optimization</a> |
| <li><a href="Preprocessor-Options.html#Preprocessor-Options">3.11 Options Controlling the Preprocessor</a> |
| <li><a href="Assembler-Options.html#Assembler-Options">3.12 Passing Options to the Assembler</a> |
| <li><a href="Link-Options.html#Link-Options">3.13 Options for Linking</a> |
| <li><a href="Directory-Options.html#Directory-Options">3.14 Options for Directory Search</a> |
| <li><a href="Spec-Files.html#Spec-Files">3.15 Specifying subprocesses and the switches to pass to them</a> |
| <li><a href="Target-Options.html#Target-Options">3.16 Specifying Target Machine and Compiler Version</a> |
| <li><a href="Submodel-Options.html#Submodel-Options">3.17 Hardware Models and Configurations</a> |
| <ul> |
| <li><a href="AArch64-Options.html#AArch64-Options">3.17.1 AArch64 Options</a> |
| <ul> |
| <li><a href="AArch64-Options.html#AArch64-Options">3.17.1.1 <samp><span class="option">-march</span></samp> and <samp><span class="option">-mcpu</span></samp> feature modifiers</a> |
| </li></ul> |
| <li><a href="Adapteva-Epiphany-Options.html#Adapteva-Epiphany-Options">3.17.2 Adapteva Epiphany Options</a> |
| <li><a href="ARM-Options.html#ARM-Options">3.17.3 ARM Options</a> |
| <li><a href="AVR-Options.html#AVR-Options">3.17.4 AVR Options</a> |
| <ul> |
| <li><a href="AVR-Options.html#AVR-Options">3.17.4.1 <code>EIND</code> and Devices with more than 128 Ki Bytes of Flash</a> |
| <li><a href="AVR-Options.html#AVR-Options">3.17.4.2 Handling of the <code>RAMPD</code>, <code>RAMPX</code>, <code>RAMPY</code> and <code>RAMPZ</code> Special Function Registers</a> |
| <li><a href="AVR-Options.html#AVR-Options">3.17.4.3 AVR Built-in Macros</a> |
| </li></ul> |
| <li><a href="Blackfin-Options.html#Blackfin-Options">3.17.5 Blackfin Options</a> |
| <li><a href="C6X-Options.html#C6X-Options">3.17.6 C6X Options</a> |
| <li><a href="CRIS-Options.html#CRIS-Options">3.17.7 CRIS Options</a> |
| <li><a href="CR16-Options.html#CR16-Options">3.17.8 CR16 Options</a> |
| <li><a href="Darwin-Options.html#Darwin-Options">3.17.9 Darwin Options</a> |
| <li><a href="DEC-Alpha-Options.html#DEC-Alpha-Options">3.17.10 DEC Alpha Options</a> |
| <li><a href="FR30-Options.html#FR30-Options">3.17.11 FR30 Options</a> |
| <li><a href="FRV-Options.html#FRV-Options">3.17.12 FRV Options</a> |
| <li><a href="GNU_002fLinux-Options.html#GNU_002fLinux-Options">3.17.13 GNU/Linux Options</a> |
| <li><a href="H8_002f300-Options.html#H8_002f300-Options">3.17.14 H8/300 Options</a> |
| <li><a href="HPPA-Options.html#HPPA-Options">3.17.15 HPPA Options</a> |
| <li><a href="i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options">3.17.16 Intel 386 and AMD x86-64 Options</a> |
| <li><a href="i386-and-x86_002d64-Windows-Options.html#i386-and-x86_002d64-Windows-Options">3.17.17 i386 and x86-64 Windows Options</a> |
| <li><a href="IA_002d64-Options.html#IA_002d64-Options">3.17.18 IA-64 Options</a> |
| <li><a href="LM32-Options.html#LM32-Options">3.17.19 LM32 Options</a> |
| <li><a href="M32C-Options.html#M32C-Options">3.17.20 M32C Options</a> |
| <li><a href="M32R_002fD-Options.html#M32R_002fD-Options">3.17.21 M32R/D Options</a> |
| <li><a href="M680x0-Options.html#M680x0-Options">3.17.22 M680x0 Options</a> |
| <li><a href="MCore-Options.html#MCore-Options">3.17.23 MCore Options</a> |
| <li><a href="MeP-Options.html#MeP-Options">3.17.24 MeP Options</a> |
| <li><a href="MicroBlaze-Options.html#MicroBlaze-Options">3.17.25 MicroBlaze Options</a> |
| <li><a href="MIPS-Options.html#MIPS-Options">3.17.26 MIPS Options</a> |
| <li><a href="MMIX-Options.html#MMIX-Options">3.17.27 MMIX Options</a> |
| <li><a href="MN10300-Options.html#MN10300-Options">3.17.28 MN10300 Options</a> |
| <li><a href="Moxie-Options.html#Moxie-Options">3.17.29 Moxie Options</a> |
| <li><a href="PDP_002d11-Options.html#PDP_002d11-Options">3.17.30 PDP-11 Options</a> |
| <li><a href="picoChip-Options.html#picoChip-Options">3.17.31 picoChip Options</a> |
| <li><a href="PowerPC-Options.html#PowerPC-Options">3.17.32 PowerPC Options</a> |
| <li><a href="RL78-Options.html#RL78-Options">3.17.33 RL78 Options</a> |
| <li><a href="RS_002f6000-and-PowerPC-Options.html#RS_002f6000-and-PowerPC-Options">3.17.34 IBM RS/6000 and PowerPC Options</a> |
| <li><a href="RX-Options.html#RX-Options">3.17.35 RX Options</a> |
| <li><a href="S_002f390-and-zSeries-Options.html#S_002f390-and-zSeries-Options">3.17.36 S/390 and zSeries Options</a> |
| <li><a href="Score-Options.html#Score-Options">3.17.37 Score Options</a> |
| <li><a href="SH-Options.html#SH-Options">3.17.38 SH Options</a> |
| <li><a href="Solaris-2-Options.html#Solaris-2-Options">3.17.39 Solaris 2 Options</a> |
| <li><a href="SPARC-Options.html#SPARC-Options">3.17.40 SPARC Options</a> |
| <li><a href="SPU-Options.html#SPU-Options">3.17.41 SPU Options</a> |
| <li><a href="System-V-Options.html#System-V-Options">3.17.42 Options for System V</a> |
| <li><a href="TILE_002dGx-Options.html#TILE_002dGx-Options">3.17.43 TILE-Gx Options</a> |
| <li><a href="TILEPro-Options.html#TILEPro-Options">3.17.44 TILEPro Options</a> |
| <li><a href="V850-Options.html#V850-Options">3.17.45 V850 Options</a> |
| <li><a href="VAX-Options.html#VAX-Options">3.17.46 VAX Options</a> |
| <li><a href="VMS-Options.html#VMS-Options">3.17.47 VMS Options</a> |
| <li><a href="VxWorks-Options.html#VxWorks-Options">3.17.48 VxWorks Options</a> |
| <li><a href="x86_002d64-Options.html#x86_002d64-Options">3.17.49 x86-64 Options</a> |
| <li><a href="Xstormy16-Options.html#Xstormy16-Options">3.17.50 Xstormy16 Options</a> |
| <li><a href="Xtensa-Options.html#Xtensa-Options">3.17.51 Xtensa Options</a> |
| <li><a href="zSeries-Options.html#zSeries-Options">3.17.52 zSeries Options</a> |
| </li></ul> |
| <li><a href="Code-Gen-Options.html#Code-Gen-Options">3.18 Options for Code Generation Conventions</a> |
| <li><a href="Environment-Variables.html#Environment-Variables">3.19 Environment Variables Affecting GCC</a> |
| <li><a href="Precompiled-Headers.html#Precompiled-Headers">3.20 Using Precompiled Headers</a> |
| </li></ul> |
| <li><a name="toc_C-Implementation" href="C-Implementation.html#C-Implementation">4 C Implementation-defined behavior</a> |
| <ul> |
| <li><a href="Translation-implementation.html#Translation-implementation">4.1 Translation</a> |
| <li><a href="Environment-implementation.html#Environment-implementation">4.2 Environment</a> |
| <li><a href="Identifiers-implementation.html#Identifiers-implementation">4.3 Identifiers</a> |
| <li><a href="Characters-implementation.html#Characters-implementation">4.4 Characters</a> |
| <li><a href="Integers-implementation.html#Integers-implementation">4.5 Integers</a> |
| <li><a href="Floating-point-implementation.html#Floating-point-implementation">4.6 Floating point</a> |
| <li><a href="Arrays-and-pointers-implementation.html#Arrays-and-pointers-implementation">4.7 Arrays and pointers</a> |
| <li><a href="Hints-implementation.html#Hints-implementation">4.8 Hints</a> |
| <li><a href="Structures-unions-enumerations-and-bit_002dfields-implementation.html#Structures-unions-enumerations-and-bit_002dfields-implementation">4.9 Structures, unions, enumerations, and bit-fields</a> |
| <li><a href="Qualifiers-implementation.html#Qualifiers-implementation">4.10 Qualifiers</a> |
| <li><a href="Declarators-implementation.html#Declarators-implementation">4.11 Declarators</a> |
| <li><a href="Statements-implementation.html#Statements-implementation">4.12 Statements</a> |
| <li><a href="Preprocessing-directives-implementation.html#Preprocessing-directives-implementation">4.13 Preprocessing directives</a> |
| <li><a href="Library-functions-implementation.html#Library-functions-implementation">4.14 Library functions</a> |
| <li><a href="Architecture-implementation.html#Architecture-implementation">4.15 Architecture</a> |
| <li><a href="Locale_002dspecific-behavior-implementation.html#Locale_002dspecific-behavior-implementation">4.16 Locale-specific behavior</a> |
| </li></ul> |
| <li><a name="toc_C_002b_002b-Implementation" href="C_002b_002b-Implementation.html#C_002b_002b-Implementation">5 C++ Implementation-defined behavior</a> |
| <ul> |
| <li><a href="Conditionally_002dsupported-behavior.html#Conditionally_002dsupported-behavior">5.1 Conditionally-supported behavior</a> |
| <li><a href="Exception-handling.html#Exception-handling">5.2 Exception handling</a> |
| </li></ul> |
| <li><a name="toc_C-Extensions" href="C-Extensions.html#C-Extensions">6 Extensions to the C Language Family</a> |
| <ul> |
| <li><a href="Statement-Exprs.html#Statement-Exprs">6.1 Statements and Declarations in Expressions</a> |
| <li><a href="Local-Labels.html#Local-Labels">6.2 Locally Declared Labels</a> |
| <li><a href="Labels-as-Values.html#Labels-as-Values">6.3 Labels as Values</a> |
| <li><a href="Nested-Functions.html#Nested-Functions">6.4 Nested Functions</a> |
| <li><a href="Constructing-Calls.html#Constructing-Calls">6.5 Constructing Function Calls</a> |
| <li><a href="Typeof.html#Typeof">6.6 Referring to a Type with <code>typeof</code></a> |
| <li><a href="Conditionals.html#Conditionals">6.7 Conditionals with Omitted Operands</a> |
| <li><a href="_005f_005fint128.html#_005f_005fint128">6.8 128-bit integers</a> |
| <li><a href="Long-Long.html#Long-Long">6.9 Double-Word Integers</a> |
| <li><a href="Complex.html#Complex">6.10 Complex Numbers</a> |
| <li><a href="Floating-Types.html#Floating-Types">6.11 Additional Floating Types</a> |
| <li><a href="Half_002dPrecision.html#Half_002dPrecision">6.12 Half-Precision Floating Point</a> |
| <li><a href="Decimal-Float.html#Decimal-Float">6.13 Decimal Floating Types</a> |
| <li><a href="Hex-Floats.html#Hex-Floats">6.14 Hex Floats</a> |
| <li><a href="Fixed_002dPoint.html#Fixed_002dPoint">6.15 Fixed-Point Types</a> |
| <li><a href="Named-Address-Spaces.html#Named-Address-Spaces">6.16 Named Address Spaces</a> |
| <ul> |
| <li><a href="Named-Address-Spaces.html#Named-Address-Spaces">6.16.1 AVR Named Address Spaces</a> |
| <li><a href="Named-Address-Spaces.html#Named-Address-Spaces">6.16.2 M32C Named Address Spaces</a> |
| <li><a href="Named-Address-Spaces.html#Named-Address-Spaces">6.16.3 RL78 Named Address Spaces</a> |
| <li><a href="Named-Address-Spaces.html#Named-Address-Spaces">6.16.4 SPU Named Address Spaces</a> |
| </li></ul> |
| <li><a href="Zero-Length.html#Zero-Length">6.17 Arrays of Length Zero</a> |
| <li><a href="Empty-Structures.html#Empty-Structures">6.18 Structures With No Members</a> |
| <li><a href="Variable-Length.html#Variable-Length">6.19 Arrays of Variable Length</a> |
| <li><a href="Variadic-Macros.html#Variadic-Macros">6.20 Macros with a Variable Number of Arguments.</a> |
| <li><a href="Escaped-Newlines.html#Escaped-Newlines">6.21 Slightly Looser Rules for Escaped Newlines</a> |
| <li><a href="Subscripting.html#Subscripting">6.22 Non-Lvalue Arrays May Have Subscripts</a> |
| <li><a href="Pointer-Arith.html#Pointer-Arith">6.23 Arithmetic on <code>void</code>- and Function-Pointers</a> |
| <li><a href="Initializers.html#Initializers">6.24 Non-Constant Initializers</a> |
| <li><a href="Compound-Literals.html#Compound-Literals">6.25 Compound Literals</a> |
| <li><a href="Designated-Inits.html#Designated-Inits">6.26 Designated Initializers</a> |
| <li><a href="Case-Ranges.html#Case-Ranges">6.27 Case Ranges</a> |
| <li><a href="Cast-to-Union.html#Cast-to-Union">6.28 Cast to a Union Type</a> |
| <li><a href="Mixed-Declarations.html#Mixed-Declarations">6.29 Mixed Declarations and Code</a> |
| <li><a href="Function-Attributes.html#Function-Attributes">6.30 Declaring Attributes of Functions</a> |
| <li><a href="Attribute-Syntax.html#Attribute-Syntax">6.31 Attribute Syntax</a> |
| <li><a href="Function-Prototypes.html#Function-Prototypes">6.32 Prototypes and Old-Style Function Definitions</a> |
| <li><a href="C_002b_002b-Comments.html#C_002b_002b-Comments">6.33 C++ Style Comments</a> |
| <li><a href="Dollar-Signs.html#Dollar-Signs">6.34 Dollar Signs in Identifier Names</a> |
| <li><a href="Character-Escapes.html#Character-Escapes">6.35 The Character <ESC> in Constants</a> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36 Specifying Attributes of Variables</a> |
| <ul> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36.1 AVR Variable Attributes</a> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36.2 Blackfin Variable Attributes</a> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36.3 M32R/D Variable Attributes</a> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36.4 MeP Variable Attributes</a> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36.5 i386 Variable Attributes</a> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36.6 PowerPC Variable Attributes</a> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36.7 SPU Variable Attributes</a> |
| <li><a href="Variable-Attributes.html#Variable-Attributes">6.36.8 Xstormy16 Variable Attributes</a> |
| </li></ul> |
| <li><a href="Type-Attributes.html#Type-Attributes">6.37 Specifying Attributes of Types</a> |
| <ul> |
| <li><a href="Type-Attributes.html#Type-Attributes">6.37.1 ARM Type Attributes</a> |
| <li><a href="Type-Attributes.html#Type-Attributes">6.37.2 MeP Type Attributes</a> |
| <li><a href="Type-Attributes.html#Type-Attributes">6.37.3 i386 Type Attributes</a> |
| <li><a href="Type-Attributes.html#Type-Attributes">6.37.4 PowerPC Type Attributes</a> |
| <li><a href="Type-Attributes.html#Type-Attributes">6.37.5 SPU Type Attributes</a> |
| </li></ul> |
| <li><a href="Alignment.html#Alignment">6.38 Inquiring on Alignment of Types or Variables</a> |
| <li><a href="Inline.html#Inline">6.39 An Inline Function is As Fast As a Macro</a> |
| <li><a href="Volatiles.html#Volatiles">6.40 When is a Volatile Object Accessed?</a> |
| <li><a href="Extended-Asm.html#Extended-Asm">6.41 Assembler Instructions with C Expression Operands</a> |
| <ul> |
| <li><a href="Extended-Asm.html#Extended-Asm">6.41.1 Size of an <code>asm</code></a> |
| <li><a href="Extended-Asm.html#Extended-Asm">6.41.2 i386 floating-point asm operands</a> |
| </li></ul> |
| <li><a href="Constraints.html#Constraints">6.42 Constraints for <code>asm</code> Operands</a> |
| <ul> |
| <li><a href="Simple-Constraints.html#Simple-Constraints">6.42.1 Simple Constraints</a> |
| <li><a href="Multi_002dAlternative.html#Multi_002dAlternative">6.42.2 Multiple Alternative Constraints</a> |
| <li><a href="Modifiers.html#Modifiers">6.42.3 Constraint Modifier Characters</a> |
| <li><a href="Machine-Constraints.html#Machine-Constraints">6.42.4 Constraints for Particular Machines</a> |
| </li></ul> |
| <li><a href="Asm-Labels.html#Asm-Labels">6.43 Controlling Names Used in Assembler Code</a> |
| <li><a href="Explicit-Reg-Vars.html#Explicit-Reg-Vars">6.44 Variables in Specified Registers</a> |
| <ul> |
| <li><a href="Global-Reg-Vars.html#Global-Reg-Vars">6.44.1 Defining Global Register Variables</a> |
| <li><a href="Local-Reg-Vars.html#Local-Reg-Vars">6.44.2 Specifying Registers for Local Variables</a> |
| </li></ul> |
| <li><a href="Alternate-Keywords.html#Alternate-Keywords">6.45 Alternate Keywords</a> |
| <li><a href="Incomplete-Enums.html#Incomplete-Enums">6.46 Incomplete <code>enum</code> Types</a> |
| <li><a href="Function-Names.html#Function-Names">6.47 Function Names as Strings</a> |
| <li><a href="Return-Address.html#Return-Address">6.48 Getting the Return or Frame Address of a Function</a> |
| <li><a href="Vector-Extensions.html#Vector-Extensions">6.49 Using Vector Instructions through Built-in Functions</a> |
| <li><a href="Offsetof.html#Offsetof">6.50 Offsetof</a> |
| <li><a href="_005f_005fsync-Builtins.html#_005f_005fsync-Builtins">6.51 Legacy __sync Built-in Functions for Atomic Memory Access</a> |
| <li><a href="_005f_005fatomic-Builtins.html#_005f_005fatomic-Builtins">6.52 Built-in functions for memory model aware atomic operations</a> |
| <li><a href="x86-specific-memory-model-extensions-for-transactional-memory.html#x86-specific-memory-model-extensions-for-transactional-memory">6.53 x86 specific memory model extensions for transactional memory</a> |
| <li><a href="Object-Size-Checking.html#Object-Size-Checking">6.54 Object Size Checking Built-in Functions</a> |
| <li><a href="Other-Builtins.html#Other-Builtins">6.55 Other Built-in Functions Provided by GCC</a> |
| <li><a href="Target-Builtins.html#Target-Builtins">6.56 Built-in Functions Specific to Particular Target Machines</a> |
| <ul> |
| <li><a href="Alpha-Built_002din-Functions.html#Alpha-Built_002din-Functions">6.56.1 Alpha Built-in Functions</a> |
| <li><a href="ARM-iWMMXt-Built_002din-Functions.html#ARM-iWMMXt-Built_002din-Functions">6.56.2 ARM iWMMXt Built-in Functions</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3 ARM NEON Intrinsics</a> |
| <ul> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.1 Addition</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.2 Multiplication</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.3 Multiply-accumulate</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.4 Multiply-subtract</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.5 Fused-multiply-accumulate</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.6 Fused-multiply-subtract</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.7 Round to integral (to nearest, ties to even)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.8 Round to integral (to nearest, ties away from zero)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.9 Round to integral (towards +Inf)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.10 Round to integral (towards -Inf)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.11 Round to integral (towards 0)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.12 Subtraction</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.13 Comparison (equal-to)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.14 Comparison (greater-than-or-equal-to)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.15 Comparison (less-than-or-equal-to)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.16 Comparison (greater-than)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.17 Comparison (less-than)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.18 Comparison (absolute greater-than-or-equal-to)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.19 Comparison (absolute less-than-or-equal-to)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.20 Comparison (absolute greater-than)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.21 Comparison (absolute less-than)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.22 Test bits</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.23 Absolute difference</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.24 Absolute difference and accumulate</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.25 Maximum</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.26 Minimum</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.27 Pairwise add</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.28 Pairwise add, single_opcode widen and accumulate</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.29 Folding maximum</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.30 Folding minimum</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.31 Reciprocal step</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.32 Vector shift left</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.33 Vector shift left by constant</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.34 Vector shift right by constant</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.35 Vector shift right by constant and accumulate</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.36 Vector shift right and insert</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.37 Vector shift left and insert</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.38 Absolute value</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.39 Negation</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.40 Bitwise not</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.41 Count leading sign bits</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.42 Count leading zeros</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.43 Count number of set bits</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.44 Reciprocal estimate</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.45 Reciprocal square-root estimate</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.46 Get lanes from a vector</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.47 Set lanes in a vector</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.48 Create vector from literal bit pattern</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.49 Set all lanes to the same value</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.50 Combining vectors</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.51 Splitting vectors</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.52 Conversions</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.53 Move, single_opcode narrowing</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.54 Move, single_opcode long</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.55 Table lookup</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.56 Extended table lookup</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.57 Multiply, lane</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.58 Long multiply, lane</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.59 Saturating doubling long multiply, lane</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.60 Saturating doubling multiply high, lane</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.61 Multiply-accumulate, lane</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.62 Multiply-subtract, lane</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.63 Vector multiply by scalar</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.64 Vector long multiply by scalar</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.65 Vector saturating doubling long multiply by scalar</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.66 Vector saturating doubling multiply high by scalar</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.67 Vector multiply-accumulate by scalar</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.68 Vector multiply-subtract by scalar</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.69 Vector extract</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.70 Reverse elements</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.71 Bit selection</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.72 Transpose elements</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.73 Zip elements</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.74 Unzip elements</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.75 Element/structure loads, VLD1 variants</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.76 Element/structure stores, VST1 variants</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.77 Element/structure loads, VLD2 variants</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.78 Element/structure stores, VST2 variants</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.79 Element/structure loads, VLD3 variants</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.80 Element/structure stores, VST3 variants</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.81 Element/structure loads, VLD4 variants</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.82 Element/structure stores, VST4 variants</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.83 Logical operations (AND)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.84 Logical operations (OR)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.85 Logical operations (exclusive OR)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.86 Logical operations (AND-NOT)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.87 Logical operations (OR-NOT)</a> |
| <li><a href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">6.56.3.88 Reinterpret casts</a> |
| </li></ul> |
| <li><a href="AVR-Built_002din-Functions.html#AVR-Built_002din-Functions">6.56.4 AVR Built-in Functions</a> |
| <li><a href="Blackfin-Built_002din-Functions.html#Blackfin-Built_002din-Functions">6.56.5 Blackfin Built-in Functions</a> |
| <li><a href="FR_002dV-Built_002din-Functions.html#FR_002dV-Built_002din-Functions">6.56.6 FR-V Built-in Functions</a> |
| <ul> |
| <li><a href="Argument-Types.html#Argument-Types">6.56.6.1 Argument Types</a> |
| <li><a href="Directly_002dmapped-Integer-Functions.html#Directly_002dmapped-Integer-Functions">6.56.6.2 Directly-mapped Integer Functions</a> |
| <li><a href="Directly_002dmapped-Media-Functions.html#Directly_002dmapped-Media-Functions">6.56.6.3 Directly-mapped Media Functions</a> |
| <li><a href="Raw-read_002fwrite-Functions.html#Raw-read_002fwrite-Functions">6.56.6.4 Raw read/write Functions</a> |
| <li><a href="Other-Built_002din-Functions.html#Other-Built_002din-Functions">6.56.6.5 Other Built-in Functions</a> |
| </li></ul> |
| <li><a href="X86-Built_002din-Functions.html#X86-Built_002din-Functions">6.56.7 X86 Built-in Functions</a> |
| <li><a href="X86-transactional-memory-intrinsics.html#X86-transactional-memory-intrinsics">6.56.8 X86 transaction memory intrinsics</a> |
| <li><a href="MIPS-DSP-Built_002din-Functions.html#MIPS-DSP-Built_002din-Functions">6.56.9 MIPS DSP Built-in Functions</a> |
| <li><a href="MIPS-Paired_002dSingle-Support.html#MIPS-Paired_002dSingle-Support">6.56.10 MIPS Paired-Single Support</a> |
| <li><a href="MIPS-Loongson-Built_002din-Functions.html#MIPS-Loongson-Built_002din-Functions">6.56.11 MIPS Loongson Built-in Functions</a> |
| <ul> |
| <li><a href="Paired_002dSingle-Arithmetic.html#Paired_002dSingle-Arithmetic">6.56.11.1 Paired-Single Arithmetic</a> |
| <li><a href="Paired_002dSingle-Built_002din-Functions.html#Paired_002dSingle-Built_002din-Functions">6.56.11.2 Paired-Single Built-in Functions</a> |
| <li><a href="MIPS_002d3D-Built_002din-Functions.html#MIPS_002d3D-Built_002din-Functions">6.56.11.3 MIPS-3D Built-in Functions</a> |
| </li></ul> |
| <li><a href="Other-MIPS-Built_002din-Functions.html#Other-MIPS-Built_002din-Functions">6.56.12 Other MIPS Built-in Functions</a> |
| <li><a href="picoChip-Built_002din-Functions.html#picoChip-Built_002din-Functions">6.56.13 picoChip Built-in Functions</a> |
| <li><a href="PowerPC-Built_002din-Functions.html#PowerPC-Built_002din-Functions">6.56.14 PowerPC Built-in Functions</a> |
| <li><a href="PowerPC-AltiVec_002fVSX-Built_002din-Functions.html#PowerPC-AltiVec_002fVSX-Built_002din-Functions">6.56.15 PowerPC AltiVec Built-in Functions</a> |
| <li><a href="RX-Built_002din-Functions.html#RX-Built_002din-Functions">6.56.16 RX Built-in Functions</a> |
| <li><a href="S_002f390-System-z-Built_002din-Functions.html#S_002f390-System-z-Built_002din-Functions">6.56.17 S/390 System z Built-in Functions</a> |
| <li><a href="SH-Built_002din-Functions.html#SH-Built_002din-Functions">6.56.18 SH Built-in Functions</a> |
| <li><a href="SPARC-VIS-Built_002din-Functions.html#SPARC-VIS-Built_002din-Functions">6.56.19 SPARC VIS Built-in Functions</a> |
| <li><a href="SPU-Built_002din-Functions.html#SPU-Built_002din-Functions">6.56.20 SPU Built-in Functions</a> |
| <li><a href="TI-C6X-Built_002din-Functions.html#TI-C6X-Built_002din-Functions">6.56.21 TI C6X Built-in Functions</a> |
| <li><a href="TILE_002dGx-Built_002din-Functions.html#TILE_002dGx-Built_002din-Functions">6.56.22 TILE-Gx Built-in Functions</a> |
| <li><a href="TILEPro-Built_002din-Functions.html#TILEPro-Built_002din-Functions">6.56.23 TILEPro Built-in Functions</a> |
| </li></ul> |
| <li><a href="Target-Format-Checks.html#Target-Format-Checks">6.57 Format Checks Specific to Particular Target Machines</a> |
| <ul> |
| <li><a href="Solaris-Format-Checks.html#Solaris-Format-Checks">6.57.1 Solaris Format Checks</a> |
| <li><a href="Darwin-Format-Checks.html#Darwin-Format-Checks">6.57.2 Darwin Format Checks</a> |
| </li></ul> |
| <li><a href="Pragmas.html#Pragmas">6.58 Pragmas Accepted by GCC</a> |
| <ul> |
| <li><a href="ARM-Pragmas.html#ARM-Pragmas">6.58.1 ARM Pragmas</a> |
| <li><a href="M32C-Pragmas.html#M32C-Pragmas">6.58.2 M32C Pragmas</a> |
| <li><a href="MeP-Pragmas.html#MeP-Pragmas">6.58.3 MeP Pragmas</a> |
| <li><a href="RS_002f6000-and-PowerPC-Pragmas.html#RS_002f6000-and-PowerPC-Pragmas">6.58.4 RS/6000 and PowerPC Pragmas</a> |
| <li><a href="Darwin-Pragmas.html#Darwin-Pragmas">6.58.5 Darwin Pragmas</a> |
| <li><a href="Solaris-Pragmas.html#Solaris-Pragmas">6.58.6 Solaris Pragmas</a> |
| <li><a href="Symbol_002dRenaming-Pragmas.html#Symbol_002dRenaming-Pragmas">6.58.7 Symbol-Renaming Pragmas</a> |
| <li><a href="Structure_002dPacking-Pragmas.html#Structure_002dPacking-Pragmas">6.58.8 Structure-Packing Pragmas</a> |
| <li><a href="Weak-Pragmas.html#Weak-Pragmas">6.58.9 Weak Pragmas</a> |
| <li><a href="Diagnostic-Pragmas.html#Diagnostic-Pragmas">6.58.10 Diagnostic Pragmas</a> |
| <li><a href="Visibility-Pragmas.html#Visibility-Pragmas">6.58.11 Visibility Pragmas</a> |
| <li><a href="Push_002fPop-Macro-Pragmas.html#Push_002fPop-Macro-Pragmas">6.58.12 Push/Pop Macro Pragmas</a> |
| <li><a href="Function-Specific-Option-Pragmas.html#Function-Specific-Option-Pragmas">6.58.13 Function Specific Option Pragmas</a> |
| </li></ul> |
| <li><a href="Unnamed-Fields.html#Unnamed-Fields">6.59 Unnamed struct/union fields within structs/unions</a> |
| <li><a href="Thread_002dLocal.html#Thread_002dLocal">6.60 Thread-Local Storage</a> |
| <ul> |
| <li><a href="C99-Thread_002dLocal-Edits.html#C99-Thread_002dLocal-Edits">6.60.1 ISO/IEC 9899:1999 Edits for Thread-Local Storage</a> |
| <li><a href="C_002b_002b98-Thread_002dLocal-Edits.html#C_002b_002b98-Thread_002dLocal-Edits">6.60.2 ISO/IEC 14882:1998 Edits for Thread-Local Storage</a> |
| </li></ul> |
| <li><a href="Binary-constants.html#Binary-constants">6.61 Binary constants using the ‘<samp><span class="samp">0b</span></samp>’ prefix</a> |
| </li></ul> |
| <li><a name="toc_C_002b_002b-Extensions" href="C_002b_002b-Extensions.html#C_002b_002b-Extensions">7 Extensions to the C++ Language</a> |
| <ul> |
| <li><a href="C_002b_002b-Volatiles.html#C_002b_002b-Volatiles">7.1 When is a Volatile C++ Object Accessed?</a> |
| <li><a href="Restricted-Pointers.html#Restricted-Pointers">7.2 Restricting Pointer Aliasing</a> |
| <li><a href="Vague-Linkage.html#Vague-Linkage">7.3 Vague Linkage</a> |
| <li><a href="C_002b_002b-Interface.html#C_002b_002b-Interface">7.4 #pragma interface and implementation</a> |
| <li><a href="Template-Instantiation.html#Template-Instantiation">7.5 Where's the Template?</a> |
| <li><a href="Bound-member-functions.html#Bound-member-functions">7.6 Extracting the function pointer from a bound pointer to member function</a> |
| <li><a href="C_002b_002b-Attributes.html#C_002b_002b-Attributes">7.7 C++-Specific Variable, Function, and Type Attributes</a> |
| <li><a href="Function-Multiversioning.html#Function-Multiversioning">7.8 Function Multiversioning</a> |
| <li><a href="Namespace-Association.html#Namespace-Association">7.9 Namespace Association</a> |
| <li><a href="Type-Traits.html#Type-Traits">7.10 Type Traits</a> |
| <li><a href="Java-Exceptions.html#Java-Exceptions">7.11 Java Exceptions</a> |
| <li><a href="Deprecated-Features.html#Deprecated-Features">7.12 Deprecated Features</a> |
| <li><a href="Backwards-Compatibility.html#Backwards-Compatibility">7.13 Backwards Compatibility</a> |
| </li></ul> |
| <li><a name="toc_Objective_002dC" href="Objective_002dC.html#Objective_002dC">8 GNU Objective-C features</a> |
| <ul> |
| <li><a href="GNU-Objective_002dC-runtime-API.html#GNU-Objective_002dC-runtime-API">8.1 GNU Objective-C runtime API</a> |
| <ul> |
| <li><a href="Modern-GNU-Objective_002dC-runtime-API.html#Modern-GNU-Objective_002dC-runtime-API">8.1.1 Modern GNU Objective-C runtime API</a> |
| <li><a href="Traditional-GNU-Objective_002dC-runtime-API.html#Traditional-GNU-Objective_002dC-runtime-API">8.1.2 Traditional GNU Objective-C runtime API</a> |
| </li></ul> |
| <li><a href="Executing-code-before-main.html#Executing-code-before-main">8.2 <code>+load</code>: Executing code before main</a> |
| <ul> |
| <li><a href="What-you-can-and-what-you-cannot-do-in-_002bload.html#What-you-can-and-what-you-cannot-do-in-_002bload">8.2.1 What you can and what you cannot do in <code>+load</code></a> |
| </li></ul> |
| <li><a href="Type-encoding.html#Type-encoding">8.3 Type encoding</a> |
| <ul> |
| <li><a href="Legacy-type-encoding.html#Legacy-type-encoding">8.3.1 Legacy type encoding</a> |
| <li><a href="_0040encode.html#_0040encode">8.3.2 @encode</a> |
| <li><a href="Method-signatures.html#Method-signatures">8.3.3 Method signatures</a> |
| </li></ul> |
| <li><a href="Garbage-Collection.html#Garbage-Collection">8.4 Garbage Collection</a> |
| <li><a href="Constant-string-objects.html#Constant-string-objects">8.5 Constant string objects</a> |
| <li><a href="compatibility_005falias.html#compatibility_005falias">8.6 compatibility_alias</a> |
| <li><a href="Exceptions.html#Exceptions">8.7 Exceptions</a> |
| <li><a href="Synchronization.html#Synchronization">8.8 Synchronization</a> |
| <li><a href="Fast-enumeration.html#Fast-enumeration">8.9 Fast enumeration</a> |
| <ul> |
| <li><a href="Using-fast-enumeration.html#Using-fast-enumeration">8.9.1 Using fast enumeration</a> |
| <li><a href="c99_002dlike-fast-enumeration-syntax.html#c99_002dlike-fast-enumeration-syntax">8.9.2 c99-like fast enumeration syntax</a> |
| <li><a href="Fast-enumeration-details.html#Fast-enumeration-details">8.9.3 Fast enumeration details</a> |
| <li><a href="Fast-enumeration-protocol.html#Fast-enumeration-protocol">8.9.4 Fast enumeration protocol</a> |
| </li></ul> |
| <li><a href="Messaging-with-the-GNU-Objective_002dC-runtime.html#Messaging-with-the-GNU-Objective_002dC-runtime">8.10 Messaging with the GNU Objective-C runtime</a> |
| <ul> |
| <li><a href="Dynamically-registering-methods.html#Dynamically-registering-methods">8.10.1 Dynamically registering methods</a> |
| <li><a href="Forwarding-hook.html#Forwarding-hook">8.10.2 Forwarding hook</a> |
| </li></ul> |
| </li></ul> |
| <li><a name="toc_Compatibility" href="Compatibility.html#Compatibility">9 Binary Compatibility</a> |
| <li><a name="toc_Gcov" href="Gcov.html#Gcov">10 <samp><span class="command">gcov</span></samp>—a Test Coverage Program</a> |
| <ul> |
| <li><a href="Gcov-Intro.html#Gcov-Intro">10.1 Introduction to <samp><span class="command">gcov</span></samp></a> |
| <li><a href="Invoking-Gcov.html#Invoking-Gcov">10.2 Invoking <samp><span class="command">gcov</span></samp></a> |
| <li><a href="Gcov-and-Optimization.html#Gcov-and-Optimization">10.3 Using <samp><span class="command">gcov</span></samp> with GCC Optimization</a> |
| <li><a href="Gcov-Data-Files.html#Gcov-Data-Files">10.4 Brief description of <samp><span class="command">gcov</span></samp> data files</a> |
| <li><a href="Cross_002dprofiling.html#Cross_002dprofiling">10.5 Data file relocation to support cross-profiling</a> |
| </li></ul> |
| <li><a name="toc_Trouble" href="Trouble.html#Trouble">11 Known Causes of Trouble with GCC</a> |
| <ul> |
| <li><a href="Actual-Bugs.html#Actual-Bugs">11.1 Actual Bugs We Haven't Fixed Yet</a> |
| <li><a href="Interoperation.html#Interoperation">11.2 Interoperation</a> |
| <li><a href="Incompatibilities.html#Incompatibilities">11.3 Incompatibilities of GCC</a> |
| <li><a href="Fixed-Headers.html#Fixed-Headers">11.4 Fixed Header Files</a> |
| <li><a href="Standard-Libraries.html#Standard-Libraries">11.5 Standard Libraries</a> |
| <li><a href="Disappointments.html#Disappointments">11.6 Disappointments and Misunderstandings</a> |
| <li><a href="C_002b_002b-Misunderstandings.html#C_002b_002b-Misunderstandings">11.7 Common Misunderstandings with GNU C++</a> |
| <ul> |
| <li><a href="Static-Definitions.html#Static-Definitions">11.7.1 Declare <em>and</em> Define Static Members</a> |
| <li><a href="Name-lookup.html#Name-lookup">11.7.2 Name lookup, templates, and accessing members of base classes</a> |
| <li><a href="Temporaries.html#Temporaries">11.7.3 Temporaries May Vanish Before You Expect</a> |
| <li><a href="Copy-Assignment.html#Copy-Assignment">11.7.4 Implicit Copy-Assignment for Virtual Bases</a> |
| </li></ul> |
| <li><a href="Non_002dbugs.html#Non_002dbugs">11.8 Certain Changes We Don't Want to Make</a> |
| <li><a href="Warnings-and-Errors.html#Warnings-and-Errors">11.9 Warning Messages and Error Messages</a> |
| </li></ul> |
| <li><a name="toc_Bugs" href="Bugs.html#Bugs">12 Reporting Bugs</a> |
| <ul> |
| <li><a href="Bug-Criteria.html#Bug-Criteria">12.1 Have You Found a Bug?</a> |
| <li><a href="Bug-Reporting.html#Bug-Reporting">12.2 How and where to Report Bugs</a> |
| </li></ul> |
| <li><a name="toc_Service" href="Service.html#Service">13 How To Get Help with GCC</a> |
| <li><a name="toc_Contributing" href="Contributing.html#Contributing">14 Contributing to GCC Development</a> |
| <li><a name="toc_Funding" href="Funding.html#Funding">Funding Free Software</a> |
| <li><a name="toc_GNU-Project" href="GNU-Project.html#GNU-Project">The GNU Project and GNU/Linux</a> |
| <li><a name="toc_Copying" href="Copying.html#Copying">GNU General Public License</a> |
| <li><a name="toc_GNU-Free-Documentation-License" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a> |
| <ul> |
| <li><a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">ADDENDUM: How to use this License for your documents</a> |
| </li></ul> |
| <li><a name="toc_Contributors" href="Contributors.html#Contributors">Contributors to GCC</a> |
| <li><a name="toc_Option-Index" href="Option-Index.html#Option-Index">Option Index</a> |
| <li><a name="toc_Keyword-Index" href="Keyword-Index.html#Keyword-Index">Keyword Index</a> |
| </li></ul> |
| </div> |
| |
| <div class="node"> |
| <a name="Top"></a> |
| <p> |
| Next: <a rel="next" accesskey="n" href="G_002b_002b-and-GCC.html#G_002b_002b-and-GCC">G++ and GCC</a>, |
| Up: <a rel="up" accesskey="u" href="../index.html#DIR">(DIR)</a> |
| <hr> |
| </div> |
| |
| <h2 class="unnumbered">Introduction</h2> |
| |
| <p><a name="index-introduction-1"></a> |
| This manual documents how to use the GNU compilers, |
| as well as their features and incompatibilities, and how to report |
| bugs. It corresponds to the compilers |
| (crosstool-NG linaro-1.13.1-4.8-2013.11 - Linaro GCC 2013.10) |
| version 4.8.3. |
| The internals of the GNU compilers, including how to port them to new |
| targets and some information about how to write front ends for new |
| languages, are documented in a separate manual. See <a href="../gccint/index.html#Top">Introduction</a>. |
| |
| <ul class="menu"> |
| <li><a accesskey="1" href="G_002b_002b-and-GCC.html#G_002b_002b-and-GCC">G++ and GCC</a>: You can compile C or C++ programs. |
| <li><a accesskey="2" href="Standards.html#Standards">Standards</a>: Language standards supported by GCC. |
| <li><a accesskey="3" href="Invoking-GCC.html#Invoking-GCC">Invoking GCC</a>: Command options supported by ‘<samp><span class="samp">gcc</span></samp>’. |
| <li><a accesskey="4" href="C-Implementation.html#C-Implementation">C Implementation</a>: How GCC implements the ISO C specification. |
| <li><a accesskey="5" href="C_002b_002b-Implementation.html#C_002b_002b-Implementation">C++ Implementation</a>: How GCC implements the ISO C++ specification. |
| <li><a accesskey="6" href="C-Extensions.html#C-Extensions">C Extensions</a>: GNU extensions to the C language family. |
| <li><a accesskey="7" href="C_002b_002b-Extensions.html#C_002b_002b-Extensions">C++ Extensions</a>: GNU extensions to the C++ language. |
| <li><a accesskey="8" href="Objective_002dC.html#Objective_002dC">Objective-C</a>: GNU Objective-C runtime features. |
| <li><a accesskey="9" href="Compatibility.html#Compatibility">Compatibility</a>: Binary Compatibility |
| <li><a href="Gcov.html#Gcov">Gcov</a>: <samp><span class="command">gcov</span></samp>---a test coverage program. |
| <li><a href="Trouble.html#Trouble">Trouble</a>: If you have trouble using GCC. |
| <li><a href="Bugs.html#Bugs">Bugs</a>: How, why and where to report bugs. |
| <li><a href="Service.html#Service">Service</a>: How to find suppliers of support for GCC. |
| <li><a href="Contributing.html#Contributing">Contributing</a>: How to contribute to testing and developing GCC. |
| |
| <li><a href="Funding.html#Funding">Funding</a>: How to help assure funding for free software. |
| <li><a href="GNU-Project.html#GNU-Project">GNU Project</a>: The GNU Project and GNU/Linux. |
| |
| <li><a href="Copying.html#Copying">Copying</a>: GNU General Public License says |
| how you can copy and share GCC. |
| <li><a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>: How you can copy and share this manual. |
| <li><a href="Contributors.html#Contributors">Contributors</a>: People who have contributed to GCC. |
| |
| <li><a href="Option-Index.html#Option-Index">Option Index</a>: Index to command line options. |
| <li><a href="Keyword-Index.html#Keyword-Index">Keyword Index</a>: Index of concepts and symbol names. |
| </ul> |
| |
| <!-- Copyright (C) 1988-2013 Free Software Foundation, Inc. --> |
| <!-- This is part of the GCC manual. --> |
| <!-- For copying conditions, see the file gcc.texi. --> |
| </body></html> |
| |