2. Language Standards Supported by GCC

  • 2. Language Standards Supported by GCC
  • 3. GCC Command Options

  • 3. GCC Command Options
  • 3.1. Option Summary
  • 3.2. Options Controlling the Kind of Output
  • 3.3. Compiling C++ Programs
  • 3.4. Options Controlling C Dialect
  • 3.5. Options Controlling C++ Dialect
  • 3.6. Options Controlling Objective-C and Objective-C++ Dialects
  • 3.7. Options to Control Diagnostic Messages Formatting
  • 3.8. Options to Request or Suppress Warnings
  • 3.9. Options for Debugging Your Program
  • 3.10. Options That Control Optimization
  • 3.11. Program Instrumentation Options
  • 3.12. Options Controlling the Preprocessor
  • 3.13. Passing Options to the Assembler
  • 3.14. Options for Linking
  • 3.15. Options for Directory Search
  • 3.16. Options for Code Generation Conventions
  • 3.17. GCC Developer Options
  • 3.18. Machine-Dependent Options
  • 3.18.1. AArch64 Options
  • 3.18.2. Adapteva Epiphany Options
  • 3.18.3. ARC Options
  • 3.18.4. ARM Options
  • 3.18.5. AVR Options
  • 3.18.6. Blackfin Options
  • 3.18.7. C6X Options
  • 3.18.8. CRIS Options
  • 3.18.9. CR16 Options
  • 3.18.10. Darwin Options
  • 3.18.11. DEC Alpha Options
  • 3.18.12. FR30 Options
  • 3.18.13. FT32 Options
  • 3.18.14. FRV Options
  • 3.18.15. GNU/Linux Options
  • 3.18.16. H8/300 Options
  • 3.18.17. HPPA Options
  • 3.18.18. IA-64 Options
  • 3.18.19. LM32 Options
  • 3.18.20. M32C Options
  • 3.18.21. M32R/D Options
  • 3.18.22. M680x0 Options
  • 3.18.23. MCore Options
  • 3.18.24. MeP Options
  • 3.18.25. MicroBlaze Options
  • 3.18.26. MIPS Options
  • 3.18.27. MMIX Options
  • 3.18.28. MN10300 Options
  • 3.18.29. Moxie Options
  • 3.18.30. MSP430 Options
  • 3.18.31. NDS32 Options
  • 3.18.32. Nios II Options
  • 3.18.33. Nvidia PTX Options
  • 3.18.34. PDP-11 Options
  • 3.18.35. picoChip Options
  • 3.18.36. PowerPC Options
  • 3.18.37. RL78 Options
  • 3.18.38. IBM RS/6000 and PowerPC Options
  • 3.18.39. RX Options
  • 3.18.40. S/390 and zSeries Options
  • 3.18.41. Score Options
  • 3.18.42. SH Options
  • 3.18.43. Solaris 2 Options
  • 3.18.44. SPARC Options
  • 3.18.45. SPU Options
  • 3.18.46. Options for System V
  • 3.18.47. TILE-Gx Options
  • 3.18.48. TILEPro Options
  • 3.18.49. V850 Options
  • 3.18.50. VAX Options
  • 3.18.51. Visium Options
  • 3.18.52. VMS Options
  • 3.18.53. VxWorks Options
  • 3.18.54. x86 Options
  • 3.18.55. x86 Windows Options
  • 3.18.56. Xstormy16 Options
  • 3.18.57. Xtensa Options
  • 3.18.58. zSeries Options
  • 3.19. Specifying Subprocesses and the Switches to Pass to Them
  • 3.20. Environment Variables Affecting GCC
  • 3.21. Using Precompiled Headers
  • 6. Extensions to the C Language Family

  • 6. Extensions to the C Language Family
  • 6.1. Statements and Declarations in Expressions
  • 6.2. Locally Declared Labels
  • 6.3. Labels as Values
  • 6.4. Nested Functions
  • 6.5. Constructing Function Calls
  • 6.6. Referring to a Type with typeof
  • 6.7. Conditionals with Omitted Operands
  • 6.8. 128-bit Integers
  • 6.9. Double-Word Integers
  • 6.10. Complex Numbers
  • 6.11. Additional Floating Types
  • 6.12. Half-Precision Floating Point
  • 6.13. Decimal Floating Types
  • 6.14. Hex Floats
  • 6.15. Fixed-Point Types
  • 6.16. Named Address Spaces
  • 6.17. Arrays of Length Zero
  • 6.18. Structures with No Members
  • 6.19. Arrays of Variable Length
  • 6.20. Macros with a Variable Number of Arguments.
  • 6.21. Slightly Looser Rules for Escaped Newlines
  • 6.22. Non-Lvalue Arrays May Have Subscripts
  • 6.23. Arithmetic on void- and Function-Pointers
  • 6.24. Pointers to Arrays with Qualifiers Work as Expected
  • 6.25. Non-Constant Initializers
  • 6.26. Compound Literals
  • 6.27. Designated Initializers
  • 6.28. Case Ranges
  • 6.29. Cast to a Union Type
  • 6.30. Mixed Declarations and Code
  • 6.31. Declaring Attributes of Functions
  • 6.31.1. Common Function Attributes
  • 6.31.2. AArch64 Function Attributes
  • 6.31.3. ARC Function Attributes
  • 6.31.4. ARM Function Attributes
  • 6.31.5. AVR Function Attributes
  • 6.31.6. Blackfin Function Attributes
  • 6.31.7. CR16 Function Attributes
  • 6.31.8. Epiphany Function Attributes
  • 6.31.9. H8/300 Function Attributes
  • 6.31.10. IA-64 Function Attributes
  • 6.31.11. M32C Function Attributes
  • 6.31.12. M32R/D Function Attributes
  • 6.31.13. m68k Function Attributes
  • 6.31.14. MCORE Function Attributes
  • 6.31.15. MeP Function Attributes
  • 6.31.16. MicroBlaze Function Attributes
  • 6.31.17. Microsoft Windows Function Attributes
  • 6.31.18. MIPS Function Attributes
  • 6.31.19. MSP430 Function Attributes
  • 6.31.20. NDS32 Function Attributes
  • 6.31.21. Nios II Function Attributes
  • 6.31.22. Nvidia PTX Function Attributes
  • 6.31.23. PowerPC Function Attributes
  • 6.31.24. RL78 Function Attributes
  • 6.31.25. RX Function Attributes
  • 6.31.26. S/390 Function Attributes
  • 6.31.27. SH Function Attributes
  • 6.31.28. SPU Function Attributes
  • 6.31.29. Symbian OS Function Attributes
  • 6.31.30. V850 Function Attributes
  • 6.31.31. Visium Function Attributes
  • 6.31.32. x86 Function Attributes
  • 6.31.33. Xstormy16 Function Attributes
  • 6.32. Specifying Attributes of Variables
  • 6.32.1. Common Variable Attributes
  • 6.32.3. Blackfin Variable Attributes
  • 6.32.4. H8/300 Variable Attributes
  • 6.32.5. IA-64 Variable Attributes
  • 6.32.6. M32R/D Variable Attributes
  • 6.32.7. MeP Variable Attributes
  • 6.32.8. Microsoft Windows Variable Attributes
  • 6.32.9. MSP430 Variable Attributes
  • 6.32.10. PowerPC Variable Attributes
  • 6.32.11. RL78 Variable Attributes
  • 6.32.12. SPU Variable Attributes
  • 6.32.13. V850 Variable Attributes
  • 6.32.15. Xstormy16 Variable Attributes
  • 6.33. Specifying Attributes of Types
  • 6.33.1. Common Type Attributes
  • 6.33.2. ARM Type Attributes
  • 6.33.3. MeP Type Attributes
  • 6.34. Label Attributes
  • 6.35. Enumerator Attributes
  • 6.36. Attribute Syntax
  • 6.37. Prototypes and Old-Style Function Definitions
  • 6.38. C++ Style Comments
  • 6.39. Dollar Signs in Identifier Names
  • 6.40. The Character <ESC> in Constants
  • 6.41. Inquiring on Alignment of Types or Variables
  • 6.42. An Inline Function is As Fast As a Macro
  • 6.43. When is a Volatile Object Accessed?
  • 6.44. How to Use Inline Assembly Language in C Code
  • 6.44.1. Basic Asm
  • 6.44.2. Extended Asm - Assembler Instructions with C Expression Operands
  • 6.44.3. Constraints for asm Operands
  • 6.44.3.1. Simple Constraints
  • 6.44.3.2. Multiple Alternative Constraints
  • 6.44.3.3. Constraint Modifier Characters
  • 6.44.3.4. Constraints for Particular Machines
  • 6.44.4. Controlling Names Used in Assembler Code
  • 6.44.5. Variables in Specified Registers
  • 6.44.5.1. Defining Global Register Variables
  • 6.44.5.2. Specifying Registers for Local Variables
  • 6.44.6. Size of an asm
  • 6.45. Alternate Keywords
  • 6.46. Incomplete enum Types
  • 6.47. Function Names as Strings
  • 6.48. Getting the Return or Frame Address of a Function
  • 6.49. Using Vector Instructions through Built-in Functions
  • 6.50. Support for offsetof
  • 6.51. Legacy __sync Built-in Functions for Atomic Memory Access
  • 6.52. Built-in Functions for Memory Model Aware Atomic Operations
  • 6.53. Built-in Functions to Perform Arithmetic with Overflow Checking
  • 6.54. x86-Specific Memory Model Extensions for Transactional Memory
  • 6.55. Object Size Checking Built-in Functions
  • 6.56. Pointer Bounds Checker Built-in Functions
  • 6.57. Cilk Plus C/C++ Language Extension Built-in Functions
  • 6.58. Other Built-in Functions Provided by GCC
  • 6.59. Built-in Functions Specific to Particular Target Machines
  • 6.59.1. AArch64 Built-in Functions
  • 6.59.2. Alpha Built-in Functions
  • 6.59.3. Altera Nios II Built-in Functions
  • 6.59.4. ARC Built-in Functions
  • 6.59.5. ARC SIMD Built-in Functions
  • 6.59.6. ARM iWMMXt Built-in Functions
  • 6.59.7. ARM C Language Extensions (ACLE)
  • 6.59.8. ARM Floating Point Status and Control Intrinsics
  • 6.59.9. AVR Built-in Functions
  • 6.59.10. Blackfin Built-in Functions
  • 6.59.11. FR-V Built-in Functions
  • 6.59.11.1. Argument Types
  • 6.59.11.2. Directly-Mapped Integer Functions
  • 6.59.11.3. Directly-Mapped Media Functions
  • 6.59.11.4. Raw Read/Write Functions
  • 6.59.11.5. Other Built-in Functions
  • 6.59.12. MIPS DSP Built-in Functions
  • 6.59.13. MIPS Paired-Single Support
  • 6.59.14. MIPS Loongson Built-in Functions
  • 6.59.14.1. Paired-Single Arithmetic
  • 6.59.14.2. Paired-Single Built-in Functions
  • 6.59.14.3. MIPS-3D Built-in Functions
  • 6.59.15. Other MIPS Built-in Functions
  • 6.59.16. MSP430 Built-in Functions
  • 6.59.17. NDS32 Built-in Functions
  • 6.59.18. picoChip Built-in Functions
  • 6.59.19. PowerPC Built-in Functions
  • 6.59.20. PowerPC AltiVec Built-in Functions
  • 6.59.21. PowerPC Hardware Transactional Memory Built-in Functions
  • 6.59.22. RX Built-in Functions
  • 6.59.23. S/390 System z Built-in Functions
  • 6.59.24. SH Built-in Functions
  • 6.59.25. SPARC VIS Built-in Functions
  • 6.59.26. SPU Built-in Functions
  • 6.59.27. TI C6X Built-in Functions
  • 6.59.28. TILE-Gx Built-in Functions
  • 6.59.29. TILEPro Built-in Functions
  • 6.59.30. x86 Built-in Functions
  • 6.59.31. x86 Transactional Memory Intrinsics
  • 6.60. Format Checks Specific to Particular Target Machines
  • 6.60.1. Solaris Format Checks
  • 6.60.2. Darwin Format Checks
  • 6.61. Pragmas Accepted by GCC
  • 6.61.1. AArch64 Pragmas
  • 6.61.2. ARM Pragmas
  • 6.61.3. M32C Pragmas
  • 6.61.4. MeP Pragmas
  • 6.61.5. RS/6000 and PowerPC Pragmas
  • 6.61.6. S/390 Pragmas
  • 6.61.7. Darwin Pragmas
  • 6.61.8. Solaris Pragmas
  • 6.61.9. Symbol-Renaming Pragmas
  • 6.61.10. Structure-Layout Pragmas
  • 6.61.11. Weak Pragmas
  • 6.61.12. Diagnostic Pragmas
  • 6.61.13. Visibility Pragmas
  • 6.61.14. Push/Pop Macro Pragmas
  • 6.61.15. Function Specific Option Pragmas
  • 6.61.16. Loop-Specific Pragmas
  • 6.62. Unnamed Structure and Union Fields
  • 6.63. Thread-Local Storage
  • 6.63.1. ISO/IEC 9899:1999 Edits for Thread-Local Storage
  • 6.63.2. ISO/IEC 14882:1998 Edits for Thread-Local Storage
  • 6.64. Binary Constants using the ‘0b’ Prefix
  • 9. Binary Compatibility

  • 9. Binary Compatibility
  • 1. Programming Languages Supported by GCC

  • Using the GNU Compiler Collection (GCC)
  • Index

  • index