OSDN Git Service

f8e477c95c64ba740eb62c144a9819b7c6f1d045
[pf3gnuchains/gcc-fork.git] / gcc / doc / gcc.texi
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 @c %**end of header
39
40 @c Use with @@smallbook.
41
42 @c Cause even numbered pages to be printed on the left hand side of
43 @c the page and odd numbered pages to be printed on the right hand
44 @c side of the page.  Using this, you can print on both sides of a
45 @c sheet of paper and have the text on the same part of the sheet.
46
47 @c The text on right hand pages is pushed towards the right hand
48 @c margin and the text on left hand pages is pushed toward the left
49 @c hand margin.
50 @c (To provide the reverse effect, set bindingoffset to -0.75in.)
51
52 @c @tex
53 @c \global\bindingoffset=0.75in
54 @c \global\normaloffset =0.75in
55 @c @end tex
56
57 @c Change the font used for @def... commands, since the default
58 @c proportional one used is bad for names starting __.
59 @tex
60 \global\setfont\defbf\ttbshape{10}{\magstep1}
61 @end tex
62
63 @macro copyrightnotice
64 Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
65 1999, 2000, 2001 Free Software Foundation, Inc.
66 @end macro
67 @ifnottex
68 @dircategory Programming
69 @direntry
70 * gcc: (gcc).                  The GNU Compiler Collection.
71 @end direntry
72 This file documents the use of the GNU compilers.
73 @sp 1
74 Published by the Free Software Foundation@*
75 59 Temple Place - Suite 330@*
76 Boston, MA 02111-1307 USA
77 @sp 1
78 @copyrightnotice{}
79 @sp 1
80 Permission is granted to copy, distribute and/or modify this document
81 under the terms of the GNU Free Documentation License, Version 1.1 or
82 any later version published by the Free Software Foundation; with the
83 Invariant Sections being ``GNU General Public License'' and ``Funding
84 Free Software'', the Front-Cover texts being (a) (see below), and with
85 the Back-Cover Texts being (b) (see below).  A copy of the license is
86 included in the section entitled ``GNU Free Documentation License''.
87
88 (a) The FSF's Front-Cover Text is:
89
90      A GNU Manual
91
92 (b) The FSF's Back-Cover Text is:
93
94      You have freedom to copy and modify this GNU Manual, like GNU
95      software.  Copies published by the Free Software Foundation raise
96      funds for GNU development.
97 @end ifnottex
98
99 @setchapternewpage odd
100 @titlepage
101 @center @titlefont{Using the GNU Compiler Collection}
102 @sp 2
103 @center Richard M. Stallman
104 @sp 3
105 @center Last updated 7 December 2001
106 @sp 1
107
108 @center for GCC @value{version-GCC}
109 @page
110 @vskip 0pt plus 1filll
111 @copyrightnotice{}
112 @sp 2
113 For GCC Version @value{version-GCC}@*
114 @sp 1
115 Published by the Free Software Foundation @*
116 59 Temple Place---Suite 330@*
117 Boston, MA 02111-1307, USA@*
118 Last printed April, 1998.@*
119 Printed copies are available for $50 each.@*
120 @c Update this ISBN when printing a new edition.
121 @ifset FSFPRINT
122 ISBN 1-882114-37-X
123 @end ifset
124 @sp 1
125 Permission is granted to copy, distribute and/or modify this document
126 under the terms of the GNU Free Documentation License, Version 1.1 or
127 any later version published by the Free Software Foundation; with the
128 Invariant Sections being ``GNU General Public License'', the Front-Cover
129 texts being (a) (see below), and with the Back-Cover Texts being (b)
130 (see below).  A copy of the license is included in the section entitled
131 ``GNU Free Documentation License''.
132
133 (a) The FSF's Front-Cover Text is:
134
135      A GNU Manual
136
137 (b) The FSF's Back-Cover Text is:
138
139      You have freedom to copy and modify this GNU Manual, like GNU
140      software.  Copies published by the Free Software Foundation raise
141      funds for GNU development.
142 @end titlepage
143 @summarycontents
144 @contents
145 @page
146
147 @node Top, G++ and GCC,, (DIR)
148 @top Introduction
149 @cindex introduction
150
151 This manual documents how to use the GNU compilers,
152 as well as their features and incompatibilities, and how to report
153 bugs.  It corresponds to GCC version @value{version-GCC}.
154 The internals of the GNU compilers, including how to port them to new
155 targets and some information about how to write front ends for new
156 languages, are documented in a separate manual.  @xref{Top,,
157 Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
158
159 @menu
160 * G++ and GCC::     You can compile C or C++ programs.
161 * Standards::       Language standards supported by GCC.
162 * Invoking GCC::    Command options supported by @samp{gcc}.
163 * C Implementation:: How GCC implements the ISO C specification.
164 * C Extensions::    GNU extensions to the C language family.
165 * C++ Extensions::  GNU extensions to the C++ language.
166 * Objective-C::     GNU Objective-C runtime features.
167 * Gcov::            gcov: a GCC test coverage program.
168 * Trouble::         If you have trouble using GCC.
169 * Bugs::            How, why and where to report bugs.
170 * Service::         How to find suppliers of support for GCC.
171 * Contributing::    How to contribute to testing and developing GCC.
172 * VMS::             Using GCC on VMS.
173
174 * Funding::         How to help assure funding for free software.
175 * GNU Project::     The GNU Project and GNU/Linux.
176
177 * Copying::         GNU General Public License says
178                      how you can copy and share GCC.
179 * GNU Free Documentation License:: How you can copy and share this manual.
180 * Contributors::    People who have contributed to GCC.
181
182 * Option Index::    Index to command line options.
183 * Index::           Index of concepts and symbol names.
184 @end menu
185
186 @include frontends.texi
187 @include standards.texi
188 @include invoke.texi
189 @include extend.texi
190 @include objc.texi
191 @include gcov.texi
192 @include trouble.texi
193 @include bugreport.texi
194 @include service.texi
195 @include contribute.texi
196 @include vms.texi
197
198 @include funding.texi
199 @include gnu.texi
200 @include gpl.texi
201
202 @c ---------------------------------------------------------------------
203 @c GFDL
204 @c ---------------------------------------------------------------------
205
206 @include fdl.texi
207
208 @include contrib.texi
209
210 @c ---------------------------------------------------------------------
211 @c Indexes
212 @c ---------------------------------------------------------------------
213
214 @node Option Index
215 @unnumbered Option Index
216
217 GCC's command line options are indexed here without any initial @samp{-}
218 or @samp{--}.  Where an option has both positive and negative forms
219 (such as @option{-f@var{option}} and @option{-fno-@var{option}}),
220 relevant entries in the manual are indexed under the most appropriate
221 form; it may sometimes be useful to look up both forms.
222
223 @printindex op
224
225 @node Index
226 @unnumbered Index
227
228 @printindex cp
229
230 @c ---------------------------------------------------------------------
231 @c Epilogue
232 @c ---------------------------------------------------------------------
233
234 @bye