Using the GNU Compiler Collection

Using the GNU Compiler Collection

For gcc version 15.0.0 (pre-release) (GCC)

Richard M. Stallman and the GCC Developer Community

Published by:

GNU Press a division of the Free Software Foundation 51 Franklin Street, Fifth Floor Boston, MA 02110-1301 USA

Website: General: press@ Orders: sales@ Tel 617-542-5942 Fax 617-542-2652

Last printed October 2003 for GCC 3.3.1. Printed copies are available for $45 each.

This file documents the use of the GNU compilers. Copyright c 1988-2024 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.

i

Short Contents

1 Programming Languages Supported by GCC . . . . . . . . . . . . . . . 1 2 Language Standards Supported by GCC . . . . . . . . . . . . . . . . . . . 3 3 GCC Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4 C Implementation-Defined Behavior . . . . . . . . . . . . . . . . . . . . . 563 5 C++ Implementation-Defined Behavior . . . . . . . . . . . . . . . . . . 573 6 Extensions to the C Language Family . . . . . . . . . . . . . . . . . . . 575 7 Extensions to the C++ Language . . . . . . . . . . . . . . . . . . . . . 1013 8 GNU Objective-C Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 9 Binary Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043 10 gcov--a Test Coverage Program. . . . . . . . . . . . . . . . . . . . . . . 1047 11 gcov-tool--an Offline Gcda Profile Processing Tool . . . . . . 1071 12 gcov-dump--an Offline Gcda and Gcno Profile Dump Tool . 1075 13 lto-dump--Tool for dumping LTO object files. . . . . . . . . . . . 1077 14 Known Causes of Trouble with GCC . . . . . . . . . . . . . . . . . . . 1079 15 Reporting Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095 16 How To Get Help with GCC . . . . . . . . . . . . . . . . . . . . . . . . . . 1097 17 Contributing to GCC Development . . . . . . . . . . . . . . . . . . . . 1099 Funding Free Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101 The GNU Project and GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . 1103 GNU General Public License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105 GNU Free Documentation License . . . . . . . . . . . . . . . . . . . . . . . . . 1117 Contributors to GCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125 A Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143

iii

Table of Contents

1 Programming Languages Supported by GCC . . 1

2 Language Standards Supported by GCC . . . . . . 3

2.1 C Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 C++ Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Objective-C and Objective-C++ Languages . . . . . . . . . . . . . . . . . . . . . 6 2.4 Go Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 D language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.6 Modula-2 language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.7 References for Other Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 GCC Command Options . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Option Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 Options Controlling the Kind of Output . . . . . . . . . . . . . . . . . . . . . . . 32 3.3 Compiling C++ Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4 Options Controlling C Dialect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.5 Options Controlling C++ Dialect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.6 Options Controlling Objective-C and Objective-C++ Dialects . . 78 3.7 Options to Control Diagnostic Messages Formatting . . . . . . . . . . . . 82 3.8 Options to Request or Suppress Warnings . . . . . . . . . . . . . . . . . . . . . . 96 3.9 Options That Control Static Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 160 3.10 Options for Debugging Your Program . . . . . . . . . . . . . . . . . . . . . . . 177 3.11 Options That Control Optimization . . . . . . . . . . . . . . . . . . . . . . . . . 184 3.12 Program Instrumentation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 3.13 Options Controlling the Preprocessor . . . . . . . . . . . . . . . . . . . . . . . . 282 3.14 Passing Options to the Assembler . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 3.15 Options for Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 3.16 Options for Directory Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 3.17 Options for Code Generation Conventions . . . . . . . . . . . . . . . . . . . 298 3.18 GCC Developer Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 3.19 Machine-Dependent Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

3.19.1 AArch64 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 3.19.1.1 -march and -mcpu Feature Modifiers . . . . . . . . . . . . . . . 333

3.19.2 Adapteva Epiphany Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 3.19.3 AMD GCN Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 3.19.4 ARC Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 3.19.5 ARM Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 3.19.6 AVR Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

3.19.6.1 EIND and Devices with More Than 128 Ki Bytes of Flash . . . . . . . . . . . . . . . . . . . . . . . . . 371

3.19.6.2 Handling of the RAMPD, RAMPX, RAMPY and RAMPZ Special Function Registers . . . . . . . . . . . . . . . . . . . . . 373

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download