OSDN Git Service

* doc/install-old.texi: Move some sections out to ...
[pf3gnuchains/gcc-fork.git] / gcc / doc / gcc.texi
1 \input texinfo  @c -*-texinfo-*-
2 @c %**start of header
3 @setfilename gcc.info
4 @c @setfilename usegcc.info
5 @c @setfilename portgcc.info
6 @c To produce the full manual, use the "gcc.info" setfilename, and
7 @c make sure the following do NOT begin with '@c' (and the @clear lines DO)
8 @set INTERNALS
9 @set USING
10 @c To produce a user-only manual, use the "usegcc.info" setfilename, and
11 @c make sure the following does NOT begin with '@c':
12 @c @clear INTERNALS
13 @c To produce a porter-only manual, use the "portgcc.info" setfilename,
14 @c and make sure the following does NOT begin with '@c':
15 @c @clear USING
16
17 @c (For FSF printing, turn on smallbook, comment out finalout below;
18 @c that is all that is needed.)
19
20 @c 6/27/96 FSF DO wants smallbook fmt for 1st bound edition.
21 @c @smallbook
22
23 @c i also commented out the finalout command, so if there *are* any
24 @c overfulls, you'll (hopefully) see the rectangle in the right hand
25 @c margin. -mew 15june93
26 @c @finalout
27
28 @c NOTE: checks/things to do:
29 @c
30 @c -have bob do a search in all seven files for "mew" (ideally --mew,
31 @c  but i may have forgotten the occasional "--"..).
32 @c     Just checked... all have `--'!  Bob 22Jul96
33 @c     Use this to search:   grep -n '\-\-mew' *.texi
34 @c -item/itemx, text after all (sub/sub)section titles, etc..
35 @c -consider putting the lists of options on pp 17--> etc in columns or
36 @c  some such.
37 @c -overfulls.  do a search for "mew" in the files, and you will see
38 @c   overfulls that i noted but could not deal with.
39 @c -have to add text:  beginning of chapter 8
40
41 @c
42 @c anything else?                       --mew 10feb93
43
44 @macro gcctabopt{body}
45 @code{\body\}
46 @end macro
47 @macro gccoptlist{body}
48 @smallexample
49 \body\
50 @end smallexample
51 @end macro
52 @c Makeinfo handles the above macro OK, TeX needs manual line breaks;
53 @c they get lost at some point in handling the macro.  But if @macro is
54 @c used here rather than @alias, it produces double line breaks.
55 @iftex
56 @alias gol = *
57 @end iftex
58 @ifnottex
59 @macro gol
60 @end macro
61 @end ifnottex
62
63 @ifset INTERNALS
64 @ifset USING
65 @settitle Using and Porting the GNU Compiler Collection (GCC)
66 @end ifset
67 @end ifset
68 @c seems reasonable to assume at least one of INTERNALS or USING is set...
69 @ifclear INTERNALS
70 @settitle Using the GNU Compiler Collection
71 @end ifclear
72 @ifclear USING
73 @settitle Porting the GNU Compiler Collection
74 @end ifclear
75
76 @c Create a separate index for command line options.
77 @defcodeindex op
78 @c Merge the standard indexes into a single one.
79 @syncodeindex fn cp
80 @syncodeindex vr cp
81 @syncodeindex ky cp
82 @syncodeindex pg cp
83 @syncodeindex tp cp
84
85 @c %**end of header
86
87 @c Use with @@smallbook.
88
89 @c Cause even numbered pages to be printed on the left hand side of
90 @c the page and odd numbered pages to be printed on the right hand
91 @c side of the page.  Using this, you can print on both sides of a
92 @c sheet of paper and have the text on the same part of the sheet.
93
94 @c The text on right hand pages is pushed towards the right hand
95 @c margin and the text on left hand pages is pushed toward the left
96 @c hand margin.
97 @c (To provide the reverse effect, set bindingoffset to -0.75in.)
98
99 @c @tex
100 @c \global\bindingoffset=0.75in
101 @c \global\normaloffset =0.75in
102 @c @end tex
103
104 @c Change the font used for @def... commands, since the default
105 @c proportional one used is bad for names starting __.
106 @tex
107 \global\setfont\defbf\ttbshape{10}{\magstep1}
108 @end tex
109
110 @ifnottex
111 @dircategory Programming
112 @direntry
113 * gcc: (gcc).                  The GNU Compiler Collection.
114 @end direntry
115 @ifset INTERNALS
116 @ifset USING
117 This file documents the use and the internals of the GNU compiler.
118 @end ifset
119 @end ifset
120 @ifclear USING
121 This file documents the internals of the GNU compiler.
122 @end ifclear
123 @ifclear INTERNALS
124 This file documents the use of the GNU compiler.
125 @end ifclear
126 @sp 1
127 Published by the Free Software Foundation@*
128 59 Temple Place - Suite 330@*
129 Boston, MA 02111-1307 USA
130 @sp 1
131 @c When you update the list of years below, search for copyright{} and
132 @c update the other copy too.
133 Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
134 1999, 2000, 2001 Free Software Foundation, Inc.
135 @sp 1
136 Permission is granted to copy, distribute and/or modify this document
137 under the terms of the GNU Free Documentation License, Version 1.1 or
138 any later version published by the Free Software Foundation; with the
139 Invariant Sections being ``GNU General Public License'' and ``Funding
140 Free Software'', the Front-Cover texts being (a) (see below), and with
141 the Back-Cover Texts being (b) (see below).  A copy of the license is
142 included in the section entitled ``GNU Free Documentation License''.
143
144 (a) The FSF's Front-Cover Text is:
145
146      A GNU Manual
147
148 (b) The FSF's Back-Cover Text is:
149
150      You have freedom to copy and modify this GNU Manual, like GNU
151      software.  Copies published by the Free Software Foundation raise
152      funds for GNU development.
153 @end ifnottex
154
155 @setchapternewpage odd
156 @c @finalout
157 @titlepage
158 @ifset INTERNALS
159 @ifset USING
160 @center @titlefont{Using and Porting the GNU Compiler Collection}
161
162 @end ifset
163 @end ifset
164 @ifclear INTERNALS
165 @title Using the GNU Compiler Collection
166 @end ifclear
167 @ifclear USING
168 @title Porting the GNU Compiler Collection
169 @end ifclear
170 @sp 2
171 @center Richard M. Stallman
172 @sp 3
173 @center Last updated 22 June 2001
174 @sp 1
175 @c The version number appears five times more in this file.
176
177 @center for GCC 3.1
178 @page
179 @vskip 0pt plus 1filll
180 Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
181 1999, 2000, 2001  Free Software Foundation, Inc.
182 @sp 2
183 For GCC Version 3.1@*
184 @sp 1
185 Published by the Free Software Foundation @*
186 59 Temple Place---Suite 330@*
187 Boston, MA 02111-1307, USA@*
188 Last printed April, 1998.@*
189 Printed copies are available for $50 each.@*
190 ISBN 1-882114-37-X
191 @sp 1
192 Permission is granted to copy, distribute and/or modify this document
193 under the terms of the GNU Free Documentation License, Version 1.1 or
194 any later version published by the Free Software Foundation; with the
195 Invariant Sections being ``GNU General Public License'', the Front-Cover
196 texts being (a) (see below), and with the Back-Cover Texts being (b)
197 (see below).  A copy of the license is included in the section entitled
198 ``GNU Free Documentation License''.
199
200 (a) The FSF's Front-Cover Text is:
201
202      A GNU Manual
203
204 (b) The FSF's Back-Cover Text is:
205
206      You have freedom to copy and modify this GNU Manual, like GNU
207      software.  Copies published by the Free Software Foundation raise
208      funds for GNU development.
209 @end titlepage
210 @summarycontents
211 @contents
212 @page
213
214 @node Top, G++ and GCC,, (DIR)
215 @top Introduction
216 @cindex introduction
217
218 @ifset INTERNALS
219 @ifset USING
220 This manual documents how to run, install and port the GNU
221 compiler, as well as its new features and incompatibilities, and how to
222 report bugs.  It corresponds to GCC version 3.1.
223 @end ifset
224 @end ifset
225
226 @ifclear INTERNALS
227 This manual documents how to run and install the GNU compiler,
228 as well as its new features and incompatibilities, and how to report
229 bugs.  It corresponds to GCC version 3.1.
230 @end ifclear
231 @ifclear USING
232 This manual documents how to port the GNU compiler,
233 as well as its new features and incompatibilities, and how to report
234 bugs.  It corresponds to GCC version 3.1.
235 @end ifclear
236
237 @menu
238 @ifset USING
239 * G++ and GCC::     You can compile C or C++ programs.
240 * Standards::       Language standards supported by GCC.
241 * Invoking GCC::    Command options supported by @samp{gcc}.
242 * Installation::    How to configure, compile and install GCC.
243 * C Implementation:: How GCC implements the ISO C specification.
244 * C Extensions::    GNU extensions to the C language family.
245 * C++ Extensions::  GNU extensions to the C++ language.
246 * Objective-C::     GNU Objective-C runtime features.
247 * Gcov::            gcov: a GCC test coverage program.
248 * Trouble::         If you have trouble installing GCC.
249 * Bugs::            How, why and where to report bugs.
250 * Service::         How to find suppliers of support for GCC.
251 * Contributing::    How to contribute to testing and developing GCC.
252 * VMS::             Using GCC on VMS.
253 * Makefile::        Additional Makefile and configure information.
254 @end ifset
255 @ifset INTERNALS
256 * Portability::     Goals of GCC's portability features.
257 * Interface::       Function-call interface of GCC output.
258 * Passes::          Order of passes, what they do, and what each file is for.
259 * Trees::           The source representation used by the C and C++ front ends.
260 * RTL::             The intermediate representation that most passes work on.
261 * Machine Desc::    How to write machine description instruction patterns.
262 * Target Macros::   How to write the machine description C macros and functions.
263 * Config::          Writing the @file{xm-@var{machine}.h} file.
264 * Fragments::       Writing the @file{t-@var{target}} and @file{x-@var{host}} files.
265 * Configuration Files::  Files created by running @code{configure}.
266 * Collect2::        How @code{collect2} works; how it finds @code{ld}.
267 * Header Dirs::     Understanding the standard header file directories.
268 @end ifset
269
270 * Funding::         How to help assure funding for free software.
271 * GNU Project::     The GNU Project and GNU/Linux.
272
273 * Copying::         GNU General Public License says
274                      how you can copy and share GCC.
275 * GNU Free Documentation License:: How you can copy and share this manual.
276 * Contributors::    People who have contributed to GCC.
277
278 * Option Index::    Index to command line options.
279 * Index::           Index of concepts and symbol names.
280 @end menu
281
282 @ifset USING
283
284 @include frontends.texi
285
286 @include standards.texi
287
288 @include invoke.texi
289
290 @include install-old.texi
291
292 @include extend.texi
293
294 @include objc.texi
295
296 @include gcov.texi
297
298 @include trouble.texi
299
300 @include bugreport.texi
301
302 @include service.texi
303
304 @include contribute.texi
305
306 @include vms.texi
307
308 @include makefile.texi
309
310 @include configterms.texi
311
312 @end ifset
313
314 @ifset INTERNALS
315 @include portability.texi
316 @include interface.texi
317 @include passes.texi
318 @include c-tree.texi
319 @include rtl.texi
320 @include md.texi
321 @include tm.texi
322 @include hostconfig.texi
323 @include fragments.texi
324 @include configfiles.texi
325 @include collect2.texi
326 @include headerdirs.texi
327 @end ifset
328
329 @include funding.texi
330
331 @include gnu.texi
332
333 @include gpl.texi
334
335 @c ---------------------------------------------------------------------
336 @c GFDL
337 @c ---------------------------------------------------------------------
338
339 @include fdl.texi
340
341 @include contrib.texi
342
343 @c ---------------------------------------------------------------------
344 @c Indexes
345 @c ---------------------------------------------------------------------
346
347 @node Option Index
348 @unnumbered Option Index
349
350 GCC's command line options are indexed here without any initial @samp{-}
351 or @samp{--}.  Where an option has both positive and negative forms
352 (such as @option{-f@var{option}} and @option{-fno-@var{option}}),
353 relevant entries in the manual are indexed under the most appropriate
354 form; it may sometimes be useful to look up both forms.
355
356 @printindex op
357
358 @node Index
359 @unnumbered Index
360
361 @printindex cp
362
363 @c ---------------------------------------------------------------------
364 @c Epilogue
365 @c ---------------------------------------------------------------------
366
367 @bye