0
|
1 \input texinfo @c -*-texinfo-*-
|
|
2 @c %**start of header
|
|
3 @setfilename gcc.info
|
|
4 @c INTERNALS is used by md.texi to determine whether to include the
|
|
5 @c whole of that file, in the internals manual, or only the part
|
|
6 @c dealing with constraints, in the user manual.
|
|
7 @clear INTERNALS
|
|
8
|
|
9 @c NOTE: checks/things to do:
|
|
10 @c
|
|
11 @c -have bob do a search in all seven files for "mew" (ideally --mew,
|
|
12 @c but i may have forgotten the occasional "--"..).
|
|
13 @c Just checked... all have `--'! Bob 22Jul96
|
|
14 @c Use this to search: grep -n '\-\-mew' *.texi
|
|
15 @c -item/itemx, text after all (sub/sub)section titles, etc..
|
|
16 @c -consider putting the lists of options on pp 17--> etc in columns or
|
|
17 @c some such.
|
|
18 @c -overfulls. do a search for "mew" in the files, and you will see
|
|
19 @c overfulls that i noted but could not deal with.
|
|
20 @c -have to add text: beginning of chapter 8
|
|
21
|
|
22 @c
|
|
23 @c anything else? --mew 10feb93
|
|
24
|
|
25 @include gcc-common.texi
|
|
26
|
|
27 @settitle Using the GNU Compiler Collection (GCC)
|
|
28
|
|
29 @c Create a separate index for command line options.
|
|
30 @defcodeindex op
|
|
31 @c Merge the standard indexes into a single one.
|
|
32 @syncodeindex fn cp
|
|
33 @syncodeindex vr cp
|
|
34 @syncodeindex ky cp
|
|
35 @syncodeindex pg cp
|
|
36 @syncodeindex tp cp
|
|
37
|
|
38 @paragraphindent 1
|
|
39
|
|
40 @c %**end of header
|
|
41
|
|
42 @copying
|
|
43 Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
|
44 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
|
|
45 2008 Free Software Foundation, Inc.
|
|
46
|
|
47 Permission is granted to copy, distribute and/or modify this document
|
|
48 under the terms of the GNU Free Documentation License, Version 1.2 or
|
|
49 any later version published by the Free Software Foundation; with the
|
|
50 Invariant Sections being ``Funding Free Software'', the Front-Cover
|
|
51 Texts being (a) (see below), and with the Back-Cover Texts being (b)
|
|
52 (see below). A copy of the license is included in the section entitled
|
|
53 ``GNU Free Documentation License''.
|
|
54
|
|
55 (a) The FSF's Front-Cover Text is:
|
|
56
|
|
57 A GNU Manual
|
|
58
|
|
59 (b) The FSF's Back-Cover Text is:
|
|
60
|
|
61 You have freedom to copy and modify this GNU Manual, like GNU
|
|
62 software. Copies published by the Free Software Foundation raise
|
|
63 funds for GNU development.
|
|
64 @end copying
|
|
65 @ifnottex
|
|
66 @dircategory Software development
|
|
67 @direntry
|
|
68 * gcc: (gcc). The GNU Compiler Collection.
|
|
69 * g++: (gcc). The GNU C++ compiler.
|
|
70 @end direntry
|
|
71 This file documents the use of the GNU compilers.
|
|
72 @sp 1
|
|
73 @insertcopying
|
|
74 @sp 1
|
|
75 @end ifnottex
|
|
76
|
|
77 @setchapternewpage odd
|
|
78 @titlepage
|
|
79 @title Using the GNU Compiler Collection
|
|
80 @versionsubtitle
|
|
81 @author Richard M. Stallman and the @sc{GCC} Developer Community
|
|
82 @page
|
|
83 @vskip 0pt plus 1filll
|
|
84 Published by:
|
|
85 @multitable @columnfractions 0.5 0.5
|
|
86 @item GNU Press
|
|
87 @tab Website: www.gnupress.org
|
|
88 @item a division of the
|
|
89 @tab General: @tex press@@gnu.org @end tex
|
|
90 @item Free Software Foundation
|
|
91 @tab Orders: @tex sales@@gnu.org @end tex
|
|
92 @item 51 Franklin Street, Fifth Floor
|
|
93 @tab Tel 617-542-5942
|
|
94 @item Boston, MA 02110-1301 USA
|
|
95 @tab Fax 617-542-2652
|
|
96 @end multitable
|
|
97 @sp 2
|
|
98 @ifset FSFPRINT
|
|
99 @c Update this ISBN when printing a new edition.
|
|
100 @acronym{ISBN} 1-882114-39-6
|
|
101
|
|
102 Cover art by Gary M. Torrisi. Cover design by Jonathan Richard.
|
|
103 @end ifset
|
|
104 @ifclear FSFPRINT
|
|
105 Last printed October 2003 for GCC 3.3.1.@*
|
|
106 Printed copies are available for $45 each.
|
|
107 @end ifclear
|
|
108 @sp 1
|
|
109 @insertcopying
|
|
110 @end titlepage
|
|
111 @summarycontents
|
|
112 @contents
|
|
113 @page
|
|
114
|
|
115 @node Top, G++ and GCC,, (DIR)
|
|
116 @top Introduction
|
|
117 @cindex introduction
|
|
118
|
|
119 This manual documents how to use the GNU compilers,
|
|
120 as well as their features and incompatibilities, and how to report
|
|
121 bugs. It corresponds to the compilers
|
|
122 @ifset VERSION_PACKAGE
|
|
123 @value{VERSION_PACKAGE}
|
|
124 @end ifset
|
|
125 version @value{version-GCC}.
|
|
126 The internals of the GNU compilers, including how to port them to new
|
|
127 targets and some information about how to write front ends for new
|
|
128 languages, are documented in a separate manual. @xref{Top,,
|
|
129 Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
|
|
130
|
|
131 @menu
|
|
132 * G++ and GCC:: You can compile C or C++ programs.
|
|
133 * Standards:: Language standards supported by GCC.
|
|
134 * Invoking GCC:: Command options supported by @samp{gcc}.
|
|
135 * C Implementation:: How GCC implements the ISO C specification.
|
|
136 * C Extensions:: GNU extensions to the C language family.
|
|
137 * C++ Extensions:: GNU extensions to the C++ language.
|
|
138 * Objective-C:: GNU Objective-C runtime features.
|
|
139 * Compatibility:: Binary Compatibility
|
|
140 * Gcov:: @command{gcov}---a test coverage program.
|
|
141 * Trouble:: If you have trouble using GCC.
|
|
142 * Bugs:: How, why and where to report bugs.
|
|
143 * Service:: How to find suppliers of support for GCC.
|
|
144 * Contributing:: How to contribute to testing and developing GCC.
|
|
145
|
|
146 * Funding:: How to help assure funding for free software.
|
|
147 * GNU Project:: The GNU Project and GNU/Linux.
|
|
148
|
|
149 * Copying:: GNU General Public License says
|
|
150 how you can copy and share GCC.
|
|
151 * GNU Free Documentation License:: How you can copy and share this manual.
|
|
152 * Contributors:: People who have contributed to GCC.
|
|
153
|
|
154 * Option Index:: Index to command line options.
|
|
155 * Keyword Index:: Index of concepts and symbol names.
|
|
156 @end menu
|
|
157
|
|
158 @include frontends.texi
|
|
159 @include standards.texi
|
|
160 @include invoke.texi
|
|
161 @include implement-c.texi
|
|
162 @include extend.texi
|
|
163 @include objc.texi
|
|
164 @include compat.texi
|
|
165 @include gcov.texi
|
|
166 @include trouble.texi
|
|
167 @include bugreport.texi
|
|
168 @include service.texi
|
|
169 @include contribute.texi
|
|
170
|
|
171 @include funding.texi
|
|
172 @include gnu.texi
|
|
173 @include gpl_v3.texi
|
|
174
|
|
175 @c ---------------------------------------------------------------------
|
|
176 @c GFDL
|
|
177 @c ---------------------------------------------------------------------
|
|
178
|
|
179 @include fdl.texi
|
|
180
|
|
181 @include contrib.texi
|
|
182
|
|
183 @c ---------------------------------------------------------------------
|
|
184 @c Indexes
|
|
185 @c ---------------------------------------------------------------------
|
|
186
|
|
187 @node Option Index
|
|
188 @unnumbered Option Index
|
|
189
|
|
190 GCC's command line options are indexed here without any initial @samp{-}
|
|
191 or @samp{--}. Where an option has both positive and negative forms
|
|
192 (such as @option{-f@var{option}} and @option{-fno-@var{option}}),
|
|
193 relevant entries in the manual are indexed under the most appropriate
|
|
194 form; it may sometimes be useful to look up both forms.
|
|
195
|
|
196 @printindex op
|
|
197
|
|
198 @node Keyword Index
|
|
199 @unnumbered Keyword Index
|
|
200
|
|
201 @printindex cp
|
|
202
|
|
203 @c ---------------------------------------------------------------------
|
|
204 @c Epilogue
|
|
205 @c ---------------------------------------------------------------------
|
|
206
|
|
207 @bye
|