OSDN Git Service

contrib:
[pf3gnuchains/gcc-fork.git] / gcc / doc / gcc.texi
index 67ea96a..baf4173 100644 (file)
@@ -1,29 +1,10 @@
 \input texinfo  @c -*-texinfo-*-
 @c %**start of header
 @setfilename gcc.info
-@c @setfilename usegcc.info
-@c @setfilename portgcc.info
-@c To produce the full manual, use the "gcc.info" setfilename, and
-@c make sure the following do NOT begin with '@c' (and the @clear lines DO)
-@set INTERNALS
-@set USING
-@c To produce a user-only manual, use the "usegcc.info" setfilename, and
-@c make sure the following does NOT begin with '@c':
-@c @clear INTERNALS
-@c To produce a porter-only manual, use the "portgcc.info" setfilename,
-@c and make sure the following does NOT begin with '@c':
-@c @clear USING
-
-@c (For FSF printing, turn on smallbook, comment out finalout below;
-@c that is all that is needed.)
-
-@c 6/27/96 FSF DO wants smallbook fmt for 1st bound edition.
-@c @smallbook
-
-@c i also commented out the finalout command, so if there *are* any
-@c overfulls, you'll (hopefully) see the rectangle in the right hand
-@c margin. -mew 15june93
-@c @finalout
+@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
 @c anything else?                       --mew 10feb93
 
-@macro gcctabopt{body}
-@code{\body\}
-@end macro
-@macro gccoptlist{body}
-@smallexample
-\body\
-@end smallexample
-@end macro
-@c Makeinfo handles the above macro OK, TeX needs manual line breaks;
-@c they get lost at some point in handling the macro.  But if @macro is
-@c used here rather than @alias, it produces double line breaks.
-@iftex
-@alias gol = *
-@end iftex
-@ifnottex
-@macro gol
-@end macro
-@end ifnottex
+@include gcc-common.texi
 
-@ifset INTERNALS
-@ifset USING
-@settitle Using and Porting the GNU Compiler Collection (GCC)
-@end ifset
-@end ifset
-@c seems reasonable to assume at least one of INTERNALS or USING is set...
-@ifclear INTERNALS
-@settitle Using the GNU Compiler Collection
-@end ifclear
-@ifclear USING
-@settitle Porting the GNU Compiler Collection
-@end ifclear
+@settitle Using the GNU Compiler Collection (GCC)
 
 @c Create a separate index for command line options.
 @defcodeindex op
 @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.)
+@paragraphindent 1
 
-@c @tex
-@c \global\bindingoffset=0.75in
-@c \global\normaloffset =0.75in
-@c @end tex
+@c %**end of header
 
-@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
+@copying
+Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+2008 Free Software Foundation, Inc.
 
-@ifnottex
-@dircategory Programming
-@direntry
-* gcc: (gcc).                  The GNU Compiler Collection.
-@end direntry
-@ifset INTERNALS
-@ifset USING
-This file documents the use and the internals of the GNU compiler.
-@end ifset
-@end ifset
-@ifclear USING
-This file documents the internals of the GNU compiler.
-@end ifclear
-@ifclear INTERNALS
-This file documents the use of the GNU compiler.
-@end ifclear
-@sp 1
-Published by the Free Software Foundation@*
-59 Temple Place - Suite 330@*
-Boston, MA 02111-1307 USA
-@sp 1
-@c When you update the list of years below, search for copyright{} and
-@c update the other copy too.
-Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-1999, 2000, 2001 Free Software Foundation, Inc.
-@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
+under the terms of the GNU Free Documentation License, Version 1.2 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
@@ -150,62 +61,52 @@ included in the section entitled ``GNU Free Documentation License''.
      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 copying
+@ifnottex
+@dircategory Software development
+@direntry
+* gcc: (gcc).                  The GNU Compiler Collection.
+* g++: (gcc).                  The GNU C++ compiler.
+@end direntry
+This file documents the use of the GNU compilers.
+@sp 1
+@insertcopying
+@sp 1
 @end ifnottex
 
 @setchapternewpage odd
-@c @finalout
 @titlepage
-@ifset INTERNALS
-@ifset USING
-@center @titlefont{Using and Porting the GNU Compiler Collection}
-
-@end ifset
-@end ifset
-@ifclear INTERNALS
 @title Using the GNU Compiler Collection
-@end ifclear
-@ifclear USING
-@title Porting the GNU Compiler Collection
-@end ifclear
-@sp 2
-@center Richard M. Stallman
-@sp 3
-@center Last updated 22 June 2001
-@sp 1
-@c The version number appears five times more in this file.
-
-@center for GCC 3.1
+@versionsubtitle
+@author Richard M. Stallman and the @sc{GCC} Developer Community
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
-1999, 2000, 2001  Free Software Foundation, Inc.
+Published by:
+@multitable @columnfractions 0.5 0.5
+@item GNU Press
+@tab Website: www.gnupress.org
+@item a division of the
+@tab General: @tex press@@gnu.org @end tex
+@item Free Software Foundation
+@tab Orders:  @tex sales@@gnu.org @end tex
+@item 51 Franklin Street, Fifth Floor
+@tab Tel 617-542-5942
+@item Boston, MA 02110-1301 USA
+@tab Fax 617-542-2652
+@end multitable
 @sp 2
-For GCC Version 3.1@*
-@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.@*
-ISBN 1-882114-37-X
-@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
+@ifset FSFPRINT
+@c Update this ISBN when printing a new edition.
+@acronym{ISBN} 1-882114-39-6
 
-(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.
+Cover art by Gary M. Torrisi.  Cover design by Jonathan Richard.
+@end ifset
+@ifclear FSFPRINT
+Last printed October 2003 for GCC 3.3.1.@*
+Printed copies are available for $45 each.
+@end ifclear
+@sp 1
+@insertcopying
 @end titlepage
 @summarycontents
 @contents
@@ -215,27 +116,19 @@ texts being (a) (see below), and with the Back-Cover Texts being (b)
 @top Introduction
 @cindex introduction
 
-@ifset INTERNALS
-@ifset USING
-This manual documents how to run and port the GNU
-compiler, as well as its new features and incompatibilities, and how to
-report bugs.  It corresponds to GCC version 3.1.
-@end ifset
+This manual documents how to use the GNU compilers,
+as well as their features and incompatibilities, and how to report
+bugs.  It corresponds to the compilers
+@ifset VERSION_PACKAGE
+@value{VERSION_PACKAGE}
 @end ifset
-
-@ifclear INTERNALS
-This manual documents how to run the GNU compiler,
-as well as its new features and incompatibilities, and how to report
-bugs.  It corresponds to GCC version 3.1.
-@end ifclear
-@ifclear USING
-This manual documents how to port the GNU compiler,
-as well as its new features and incompatibilities, and how to report
-bugs.  It corresponds to GCC version 3.1.
-@end ifclear
+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
-@ifset USING
 * G++ and GCC::     You can compile C or C++ programs.
 * Standards::       Language standards supported by GCC.
 * Invoking GCC::    Command options supported by @samp{gcc}.
@@ -243,28 +136,12 @@ bugs.  It corresponds to GCC version 3.1.
 * C Extensions::    GNU extensions to the C language family.
 * C++ Extensions::  GNU extensions to the C++ language.
 * Objective-C::     GNU Objective-C runtime features.
-* Gcov::           gcov: a GCC test coverage program.
+* 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.
-* Makefile::        Additional Makefile and configure information.
-@end ifset
-@ifset INTERNALS
-* Portability::     Goals of GCC's portability features.
-* Interface::       Function-call interface of GCC output.
-* Passes::          Order of passes, what they do, and what each file is for.
-* Trees::           The source representation used by the C and C++ front ends.
-* RTL::             The intermediate representation that most passes work on.
-* Machine Desc::    How to write machine description instruction patterns.
-* Target Macros::   How to write the machine description C macros and functions.
-* Config::          Writing the @file{xm-@var{machine}.h} file.
-* Fragments::       Writing the @file{t-@var{target}} and @file{x-@var{host}} files.
-* Configuration Files::  Files created by running @code{configure}.
-* Collect2::        How @code{collect2} works; how it finds @code{ld}.
-* Header Dirs::     Understanding the standard header file directories.
-@end ifset
 
 * Funding::         How to help assure funding for free software.
 * GNU Project::     The GNU Project and GNU/Linux.
@@ -275,59 +152,25 @@ bugs.  It corresponds to GCC version 3.1.
 * Contributors::    People who have contributed to GCC.
 
 * Option Index::    Index to command line options.
-* Index::          Index of concepts and symbol names.
+* Keyword Index::    Index of concepts and symbol names.
 @end menu
 
-@ifset USING
-
 @include frontends.texi
-
 @include standards.texi
-
 @include invoke.texi
-
+@include implement-c.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 makefile.texi
-
-@include configterms.texi
-
-@end ifset
-
-@ifset INTERNALS
-@include portability.texi
-@include interface.texi
-@include passes.texi
-@include c-tree.texi
-@include rtl.texi
-@include md.texi
-@include tm.texi
-@include hostconfig.texi
-@include fragments.texi
-@include configfiles.texi
-@include collect2.texi
-@include headerdirs.texi
-@end ifset
-
 @include funding.texi
-
 @include gnu.texi
-
-@include gpl.texi
+@include gpl_v3.texi
 
 @c ---------------------------------------------------------------------
 @c GFDL
@@ -352,8 +195,8 @@ form; it may sometimes be useful to look up both forms.
 
 @printindex op
 
-@node Index
-@unnumbered Index
+@node Keyword Index
+@unnumbered Keyword Index
 
 @printindex cp