\input texinfo  @c -*-texinfo-*-
@c %**start of header
@setfilename gcc.info
@c INTERNALS is used by md.texi to determine whether to include the
@c whole of that file, in the internals manual, or only the part
@c dealing with constraints, in the user manual.
@clear INTERNALS

@c NOTE: checks/things to do:
@c
@c -have bob do a search in all seven files for "mew" (ideally --mew,
@c  but i may have forgotten the occasional "--"..).
@c     Just checked... all have `--'!  Bob 22Jul96
@c     Use this to search:   grep -n '\-\-mew' *.texi
@c -item/itemx, text after all (sub/sub)section titles, etc..
@c -consider putting the lists of options on pp 17--> etc in columns or
@c  some such.
@c -overfulls.  do a search for "mew" in the files, and you will see
@c   overfulls that i noted but could not deal with.
@c -have to add text:  beginning of chapter 8

@c
@c anything else?                       --mew 10feb93

@include gcc-common.texi

@settitle Using the GNU Compiler Collection (GCC)

@c Create a separate index for command line options.
@defcodeindex op
@c Merge the standard indexes into a single one.
@syncodeindex fn cp
@syncodeindex vr cp
@syncodeindex ky cp
@syncodeindex pg cp
@syncodeindex tp cp

@c %**end of header

@c Use with @@smallbook.

@c Cause even numbered pages to be printed on the left hand side of
@c the page and odd numbered pages to be printed on the right hand
@c side of the page.  Using this, you can print on both sides of a
@c sheet of paper and have the text on the same part of the sheet.

@c The text on right hand pages is pushed towards the right hand
@c margin and the text on left hand pages is pushed toward the left
@c hand margin.
@c (To provide the reverse effect, set bindingoffset to -0.75in.)

@c @tex
@c \global\bindingoffset=0.75in
@c \global\normaloffset =0.75in
@c @end tex

@c Change the font used for @def... commands, since the default
@c proportional one used is bad for names starting __.
@tex
\global\setfont\defbf\ttbshape{10}{\magstep1}
@end tex

@macro copyrightnotice
Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002 Free Software Foundation, Inc.
@end macro
@ifnottex
@dircategory Programming
@direntry
* gcc: (gcc).                  The GNU Compiler Collection.
@end direntry
This file documents the use of the GNU compilers.
@sp 1
Published by the Free Software Foundation@*
59 Temple Place - Suite 330@*
Boston, MA 02111-1307 USA
@sp 1
@copyrightnotice{}
@sp 1
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``GNU General Public License'' and ``Funding
Free Software'', the Front-Cover texts being (a) (see below), and with
the Back-Cover Texts being (b) (see below).  A copy of the license is
included in the section entitled ``GNU Free Documentation License''.

(a) The FSF's Front-Cover Text is:

     A GNU Manual

(b) The FSF's Back-Cover Text is:

     You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development.
@end ifnottex

@setchapternewpage odd
@titlepage
@center @titlefont{Using the GNU Compiler Collection}
@sp 2
@center Richard M. Stallman
@sp 3
@center Last updated 20 April 2002
@sp 1

@center for GCC @value{version-GCC}
@page
@vskip 0pt plus 1filll
@copyrightnotice{}
@sp 2
For GCC Version @value{version-GCC}@*
@sp 1
Published by the Free Software Foundation @*
59 Temple Place---Suite 330@*
Boston, MA 02111-1307, USA@*
Last printed April, 1998.@*
Printed copies are available for $50 each.@*
@c Update this ISBN when printing a new edition.
@ifset FSFPRINT
ISBN 1-882114-37-X
@end ifset
@sp 1
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``GNU General Public License'', the Front-Cover
texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
``GNU Free Documentation License''.

(a) The FSF's Front-Cover Text is:

     A GNU Manual

(b) The FSF's Back-Cover Text is:

     You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development.
@end titlepage
@summarycontents
@contents
@page

@node Top, G++ and GCC,, (DIR)
@top Introduction
@cindex introduction

This manual documents how to use the GNU compilers,
as well as their features and incompatibilities, and how to report
bugs.  It corresponds to GCC version @value{version-GCC}.
The internals of the GNU compilers, including how to port them to new
targets and some information about how to write front ends for new
languages, are documented in a separate manual.  @xref{Top,,
Introduction, gccint, GNU Compiler Collection (GCC) Internals}.

@menu
* G++ and GCC::     You can compile C or C++ programs.
* Standards::       Language standards supported by GCC.
* Invoking GCC::    Command options supported by @samp{gcc}.
* C Implementation:: How GCC implements the ISO C specification.
* C Extensions::    GNU extensions to the C language family.
* C++ Extensions::  GNU extensions to the C++ language.
* Objective-C::     GNU Objective-C runtime features.
* Compatibility::   Binary Compatibility
* Gcov::            @command{gcov}---a test coverage program.
* Trouble::         If you have trouble using GCC.
* Bugs::            How, why and where to report bugs.
* Service::         How to find suppliers of support for GCC.
* Contributing::    How to contribute to testing and developing GCC.
* VMS::             Using GCC on VMS.

* Funding::         How to help assure funding for free software.
* GNU Project::     The GNU Project and GNU/Linux.

* Copying::         GNU General Public License says
                     how you can copy and share GCC.
* GNU Free Documentation License:: How you can copy and share this manual.
* Contributors::    People who have contributed to GCC.

* Option Index::    Index to command line options.
* Index::	    Index of concepts and symbol names.
@end menu

@include frontends.texi
@include standards.texi
@include invoke.texi
@include extend.texi
@include objc.texi
@include compat.texi
@include gcov.texi
@include trouble.texi
@include bugreport.texi
@include service.texi
@include contribute.texi
@include vms.texi

@include funding.texi
@include gnu.texi
@include gpl.texi

@c ---------------------------------------------------------------------
@c GFDL
@c ---------------------------------------------------------------------

@include fdl.texi

@include contrib.texi

@c ---------------------------------------------------------------------
@c Indexes
@c ---------------------------------------------------------------------

@node Option Index
@unnumbered Option Index

GCC's command line options are indexed here without any initial @samp{-}
or @samp{--}.  Where an option has both positive and negative forms
(such as @option{-f@var{option}} and @option{-fno-@var{option}}),
relevant entries in the manual are indexed under the most appropriate
form; it may sometimes be useful to look up both forms.

@printindex op

@node Index
@unnumbered Index

@printindex cp

@c ---------------------------------------------------------------------
@c Epilogue
@c ---------------------------------------------------------------------

@bye
