xref: /netbsd/external/gpl3/gcc/dist/gcc/doc/gcc.texi (revision f0fbc68b)
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
43Copyright @copyright{} 1988-2022 Free Software Foundation, Inc.
44
45Permission is granted to copy, distribute and/or modify this document
46under the terms of the GNU Free Documentation License, Version 1.3 or
47any later version published by the Free Software Foundation; with the
48Invariant Sections being ``Funding Free Software'', the Front-Cover
49Texts being (a) (see below), and with the Back-Cover Texts being (b)
50(see below).  A copy of the license is included in the section entitled
51``GNU Free Documentation License''.
52
53(a) The FSF's Front-Cover Text is:
54
55     A GNU Manual
56
57(b) The FSF's Back-Cover Text is:
58
59     You have freedom to copy and modify this GNU Manual, like GNU
60     software.  Copies published by the Free Software Foundation raise
61     funds for GNU development.
62@end copying
63@ifnottex
64@dircategory Software development
65@direntry
66* gcc: (gcc).                  The GNU Compiler Collection.
67* g++: (gcc).                  The GNU C++ compiler.
68* gcov: (gcc) Gcov.            @command{gcov}---a test coverage program.
69* gcov-tool: (gcc) Gcov-tool.  @command{gcov-tool}---an offline gcda profile processing program.
70* gcov-dump: (gcc) Gcov-dump.  @command{gcov-dump}---an offline gcda and gcno profile dump tool.
71* lto-dump: (gcc) lto-dump.    @command{lto-dump}---Tool for
72dumping LTO object files.
73@end direntry
74This file documents the use of the GNU compilers.
75@sp 1
76@insertcopying
77@sp 1
78@end ifnottex
79
80@setchapternewpage odd
81@titlepage
82@title Using the GNU Compiler Collection
83@versionsubtitle
84@author Richard M. Stallman and the @sc{GCC} Developer Community
85@page
86@vskip 0pt plus 1filll
87Published by:
88@multitable @columnfractions 0.5 0.5
89@item GNU Press
90@tab Website: @uref{http://www.gnupress.org}
91@item a division of the
92@tab General: @email{press@@gnu.org}
93@item Free Software Foundation
94@tab Orders:  @email{sales@@gnu.org}
95@item 51 Franklin Street, Fifth Floor
96@tab Tel 617-542-5942
97@item Boston, MA 02110-1301 USA
98@tab Fax 617-542-2652
99@end multitable
100@sp 2
101@ifset FSFPRINT
102@c Update this ISBN when printing a new edition.
103@acronym{ISBN} 1-882114-39-6
104
105Cover art by Gary M. Torrisi.  Cover design by Jonathan Richard.
106@end ifset
107@ifclear FSFPRINT
108Last printed October 2003 for GCC 3.3.1.@*
109Printed copies are available for $45 each.
110@end ifclear
111@sp 1
112@insertcopying
113@end titlepage
114@summarycontents
115@contents
116@page
117
118@node Top, G++ and GCC
119@top Introduction
120@cindex introduction
121
122This manual documents how to use the GNU compilers,
123as well as their features and incompatibilities, and how to report
124bugs.  It corresponds to the compilers
125@ifset VERSION_PACKAGE
126@value{VERSION_PACKAGE}
127@end ifset
128version @value{version-GCC}.
129The internals of the GNU compilers, including how to port them to new
130targets and some information about how to write front ends for new
131languages, are documented in a separate manual.  @xref{Top,,
132Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
133
134@menu
135* G++ and GCC::     You can compile C or C++ programs.
136* Standards::       Language standards supported by GCC.
137* Invoking GCC::    Command options supported by @samp{gcc}.
138* C Implementation:: How GCC implements the ISO C specification.
139* C++ Implementation:: How GCC implements the ISO C++ specification.
140* C Extensions::    GNU extensions to the C language family.
141* C++ Extensions::  GNU extensions to the C++ language.
142* Objective-C::     GNU Objective-C runtime features.
143* Compatibility::   Binary Compatibility
144* Gcov::            @command{gcov}---a test coverage program.
145* Gcov-tool::       @command{gcov-tool}---an offline gcda profile processing program.
146* Gcov-dump::       @command{gcov-dump}---an offline gcda and gcno profile dump tool.
147* lto-dump::        @command{lto-dump}---Tool for dumping LTO
148object files.
149* Trouble::         If you have trouble using GCC.
150* Bugs::            How, why and where to report bugs.
151* Service::         How To Get Help with GCC
152* Contributing::    How to contribute to testing and developing GCC.
153
154* Funding::         How to help assure funding for free software.
155* GNU Project::     The GNU Project and GNU/Linux.
156
157* Copying::         GNU General Public License says
158                    how you can copy and share GCC.
159* GNU Free Documentation License:: How you can copy and share this manual.
160* Contributors::    People who have contributed to GCC.
161
162* Option Index::    Index to command line options.
163* Keyword Index::   Index of concepts and symbol names.
164@end menu
165
166@include frontends.texi
167@include standards.texi
168@include invoke.texi
169@include implement-c.texi
170@include implement-cxx.texi
171@include extend.texi
172@include objc.texi
173@include compat.texi
174@include gcov.texi
175@include gcov-tool.texi
176@include gcov-dump.texi
177@include lto-dump.texi
178@include trouble.texi
179@include bugreport.texi
180@include service.texi
181@include contribute.texi
182
183@include funding.texi
184@include gnu.texi
185@include gpl_v3.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
202GCC's command line options are indexed here without any initial @samp{-}
203or @samp{--}.  Where an option has both positive and negative forms
204(such as @option{-f@var{option}} and @option{-fno-@var{option}}),
205relevant entries in the manual are indexed under the most appropriate
206form; 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
220