2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / doc / gcc.texi
blob721150ac8a1e7e781b5780bd317bc4a230b8f4e8
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
9 @c NOTE: checks/things to do:
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
23 @c anything else?                       --mew 10feb93
25 @include gcc-common.texi
27 @settitle Using the GNU Compiler Collection (GCC)
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
38 @c %**end of header
40 @c Use with @@smallbook.
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.
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.)
52 @c @tex
53 @c \global\bindingoffset=0.75in
54 @c \global\normaloffset =0.75in
55 @c @end tex
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
63 @copying
64 Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
65 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
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''.
75 (a) The FSF's Front-Cover Text is:
77      A GNU Manual
79 (b) The FSF's Back-Cover Text is:
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
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
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
130 @node Top, G++ and GCC,, (DIR)
131 @top Introduction
132 @cindex introduction
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}.
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.
157 * Funding::         How to help assure funding for free software.
158 * GNU Project::     The GNU Project and GNU/Linux.
160 * Copying::         GNU General Public License says
161                      how you can copy and share GCC.
162 * GNU Free Documentation License:: How you can copy and share this manual.
163 * Contributors::    People who have contributed to GCC.
165 * Option Index::    Index to command line options.
166 * Keyword Index::    Index of concepts and symbol names.
167 @end menu
169 @include frontends.texi
170 @include standards.texi
171 @include invoke.texi
172 @include extend.texi
173 @include objc.texi
174 @include compat.texi
175 @include gcov.texi
176 @include trouble.texi
177 @include bugreport.texi
178 @include service.texi
179 @include contribute.texi
181 @include funding.texi
182 @include gnu.texi
183 @include gpl.texi
185 @c ---------------------------------------------------------------------
186 @c GFDL
187 @c ---------------------------------------------------------------------
189 @include fdl.texi
191 @include contrib.texi
193 @c ---------------------------------------------------------------------
194 @c Indexes
195 @c ---------------------------------------------------------------------
197 @node Option Index
198 @unnumbered Option Index
200 GCC's command line options are indexed here without any initial @samp{-}
201 or @samp{--}.  Where an option has both positive and negative forms
202 (such as @option{-f@var{option}} and @option{-fno-@var{option}}),
203 relevant entries in the manual are indexed under the most appropriate
204 form; it may sometimes be useful to look up both forms.
206 @printindex op
208 @node Keyword Index
209 @unnumbered Keyword Index
211 @printindex cp
213 @c ---------------------------------------------------------------------
214 @c Epilogue
215 @c ---------------------------------------------------------------------
217 @bye