OSDN Git Service

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