aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <jsm28@cam.ac.uk>2001-12-17 19:20:05 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2001-12-17 19:20:05 +0000
commitb11cc6108963f1a0690fd603b91f125144636f98 (patch)
tree6ff3b4ab121f5dc4cfb32c48955165d70582a95b /gcc
parente97562f5ce4ea6d67e165baf9711c06b31b69350 (diff)
downloadgcc-b11cc6108963f1a0690fd603b91f125144636f98.zip
gcc-b11cc6108963f1a0690fd603b91f125144636f98.tar.gz
gcc-b11cc6108963f1a0690fd603b91f125144636f98.tar.bz2
Separate user and internals manuals.
* Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update dependencies. ($(docdir)/gccint.info, gccint.dvi): New targets. (maintainer-clean, install-info, uninstall): Update. * doc/.cvsignore: Add gccint.info*. * doc/include/gcc-common.texi: New file. * doc/gcc.texi: Use it. Adjust to be a user-only manual. Put copyright notice in a macro. Don't include ISBN unless FSFPRINT is defined. * doc/gccint.texi: New file. * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi: Update for separate user and internals manuals. f: * g77.texi, invoke.texi: Update links to GCC manual. java: * gcj.texi: Update link to GCC manual. From-SVN: r48119
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog17
-rw-r--r--gcc/Makefile.in88
-rw-r--r--gcc/doc/.cvsignore1
-rw-r--r--gcc/doc/configfiles.texi9
-rw-r--r--gcc/doc/extend.texi64
-rw-r--r--gcc/doc/gcc.texi184
-rw-r--r--gcc/doc/gccint.texi224
-rw-r--r--gcc/doc/include/gcc-common.texi36
-rw-r--r--gcc/doc/invoke.texi43
-rw-r--r--gcc/doc/md.texi6
-rw-r--r--gcc/doc/passes.texi8
-rw-r--r--gcc/doc/tm.texi8
-rw-r--r--gcc/doc/trouble.texi9
-rw-r--r--gcc/f/ChangeLog4
-rw-r--r--gcc/f/g77.texi21
-rw-r--r--gcc/f/invoke.texi33
-rw-r--r--gcc/java/ChangeLog4
-rw-r--r--gcc/java/gcj.texi2
18 files changed, 414 insertions, 347 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 05ea2a4..75440a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,20 @@
+2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ Separate user and internals manuals.
+ * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
+ dependencies.
+ ($(docdir)/gccint.info, gccint.dvi): New targets.
+ (maintainer-clean, install-info, uninstall): Update.
+ * doc/.cvsignore: Add gccint.info*.
+ * doc/include/gcc-common.texi: New file.
+ * doc/gcc.texi: Use it. Adjust to be a user-only manual. Put
+ copyright notice in a macro. Don't include ISBN unless FSFPRINT
+ is defined.
+ * doc/gccint.texi: New file.
+ * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
+ doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
+ Update for separate user and internals manuals.
+
2001-12-17 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.h: CPP_CPU_SPEC: add mcpu=7400.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index ff1b404..44c9e34 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -2238,53 +2238,69 @@ stmp-fixproto: fixhdr.ready fixproto stmp-int-hdrs
docdir = $(srcdir)/doc
doc: $(BUILD_INFO) $(GENERATED_MANPAGES) gccbug
-info: $(docdir)/cpp.info $(docdir)/gcc.info lang.info $(docdir)/cppinternals.info
+info: $(docdir)/cpp.info $(docdir)/gcc.info $(docdir)/gccint.info lang.info $(docdir)/cppinternals.info
$(docdir)/cpp.info: $(docdir)/cpp.texi $(docdir)/include/fdl.texi
cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/cpp.info doc/cpp.texi
-$(docdir)/gcc.info: $(docdir)/gcc.texi $(docdir)/extend.texi \
- $(docdir)/install-old.texi $(docdir)/invoke.texi $(docdir)/md.texi \
- $(docdir)/c-tree.texi $(docdir)/rtl.texi $(docdir)/tm.texi \
- $(docdir)/gcov.texi $(docdir)/contrib.texi $(docdir)/objc.texi \
- $(docdir)/include/fdl.texi $(docdir)/include/gpl.texi \
- $(docdir)/include/funding.texi $(docdir)/bugreport.texi \
- $(docdir)/contribute.texi $(docdir)/frontends.texi \
- $(docdir)/service.texi $(docdir)/standards.texi \
- $(docdir)/trouble.texi $(docdir)/vms.texi $(docdir)/configterms.texi \
- $(docdir)/fragments.texi $(docdir)/hostconfig.texi \
- $(docdir)/gnu.texi $(docdir)/interface.texi \
- $(docdir)/makefile.texi $(docdir)/passes.texi \
- $(docdir)/portability.texi $(docdir)/collect2.texi \
- $(docdir)/configfiles.texi $(docdir)/headerdirs.texi
+$(docdir)/gcc.info: $(docdir)/gcc.texi $(docdir)/include/gcc-common.texi \
+ $(docdir)/frontends.texi $(docdir)/standards.texi \
+ $(docdir)/invoke.texi $(docdir)/extend.texi $(docdir)/md.texi \
+ $(docdir)/objc.texi $(docdir)/gcov.texi $(docdir)/trouble.texi \
+ $(docdir)/bugreport.texi $(docdir)/service.texi \
+ $(docdir)/contribute.texi $(docdir)/vms.texi \
+ $(docdir)/include/funding.texi $(docdir)/gnu.texi \
+ $(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \
+ $(docdir)/contrib.texi
cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/gcc.info doc/gcc.texi
+$(docdir)/gccint.info: $(docdir)/gccint.texi \
+ $(docdir)/include/gcc-common.texi $(docdir)/contribute.texi \
+ $(docdir)/makefile.texi $(docdir)/configterms.texi \
+ $(docdir)/portability.texi $(docdir)/interface.texi \
+ $(docdir)/passes.texi $(docdir)/c-tree.texi \
+ $(docdir)/rtl.texi $(docdir)/md.texi $(docdir)/tm.texi \
+ $(docdir)/hostconfig.texi $(docdir)/fragments.texi \
+ $(docdir)/configfiles.texi $(docdir)/collect2.texi \
+ $(docdir)/headerdirs.texi $(docdir)/include/funding.texi \
+ $(docdir)/gnu.texi $(docdir)/include/gpl.texi \
+ $(docdir)/include/fdl.texi $(docdir)/contrib.texi
+ cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/gccint.info doc/gccint.texi
+
$(docdir)/cppinternals.info: $(docdir)/cppinternals.texi
cd $(srcdir) && $(MAKEINFO) $(MAKEINFOFLAGS) -I doc -I doc/include -o doc/cppinternals.info \
doc/cppinternals.texi
-dvi: gcc.dvi cpp.dvi lang.dvi cppinternals.dvi
+dvi: gcc.dvi gccint.dvi cpp.dvi lang.dvi cppinternals.dvi
# This works with GNU Make's default rule.
cpp.dvi: $(docdir)/cpp.texi $(docdir)/include/fdl.texi
$(TEXI2DVI) -I $(docdir) -I $(docdir)/include $(docdir)/cpp.texi
-gcc.dvi: $(docdir)/gcc.texi $(docdir)/extend.texi $(docdir)/install-old.texi \
- $(docdir)/invoke.texi $(docdir)/md.texi $(docdir)/c-tree.texi \
- $(docdir)/rtl.texi $(docdir)/tm.texi $(docdir)/gcov.texi \
- $(docdir)/contrib.texi $(docdir)/objc.texi \
- $(docdir)/include/fdl.texi $(docdir)/include/gpl.texi \
- $(docdir)/include/funding.texi $(docdir)/bugreport.texi \
- $(docdir)/contribute.texi $(docdir)/frontends.texi \
- $(docdir)/service.texi $(docdir)/standards.texi \
- $(docdir)/trouble.texi $(docdir)/vms.texi $(docdir)/configterms.texi \
- $(docdir)/fragments.texi $(docdir)/hostconfig.texi \
- $(docdir)/gnu.texi $(docdir)/interface.texi \
- $(docdir)/makefile.texi $(docdir)/passes.texi \
- $(docdir)/portability.texi $(docdir)/collect2.texi \
- $(docdir)/configfiles.texi $(docdir)/headerdirs.texi
+gcc.dvi: $(docdir)/gcc.texi $(docdir)/include/gcc-common.texi \
+ $(docdir)/frontends.texi $(docdir)/standards.texi \
+ $(docdir)/invoke.texi $(docdir)/extend.texi $(docdir)/md.texi \
+ $(docdir)/objc.texi $(docdir)/gcov.texi $(docdir)/trouble.texi \
+ $(docdir)/bugreport.texi $(docdir)/service.texi \
+ $(docdir)/contribute.texi $(docdir)/vms.texi \
+ $(docdir)/include/funding.texi $(docdir)/gnu.texi \
+ $(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \
+ $(docdir)/contrib.texi
$(TEXI2DVI) -I $(docdir) -I $(docdir)/include $(docdir)/gcc.texi
+gccint.dvi: $(docdir)/gccint.texi \
+ $(docdir)/include/gcc-common.texi $(docdir)/contribute.texi \
+ $(docdir)/makefile.texi $(docdir)/configterms.texi \
+ $(docdir)/portability.texi $(docdir)/interface.texi \
+ $(docdir)/passes.texi $(docdir)/c-tree.texi \
+ $(docdir)/rtl.texi $(docdir)/md.texi $(docdir)/tm.texi \
+ $(docdir)/hostconfig.texi $(docdir)/fragments.texi \
+ $(docdir)/configfiles.texi $(docdir)/collect2.texi \
+ $(docdir)/headerdirs.texi $(docdir)/include/funding.texi \
+ $(docdir)/gnu.texi $(docdir)/include/gpl.texi \
+ $(docdir)/include/fdl.texi $(docdir)/contrib.texi
+ $(TEXI2DVI) -I $(docdir) -I $(docdir)/include $(docdir)/gccint.texi
+
cppinternals.dvi: $(docdir)/cppinternals.texi
$(TEXI2DVI) -I $(docdir) -I $(docdir)/include $(docdir)/cppinternals.texi
@@ -2468,7 +2484,7 @@ maintainer-clean:
-rm -f c-parse.y c-parse.c c-parse.output TAGS
-rm -f cpp.??s cpp.*aux
-rm -f gcc.??s gcc.*aux
- -rm -f $(docdir)/cpp.info* $(docdir)/gcc.info*
+ -rm -f $(docdir)/cpp.info* $(docdir)/gcc.info* $(docdir)/gccint.info*
-rm -f $(docdir)/cppinternals.info*
-rm -f $(docdir)/gcov.1 $(docdir)/cpp.1 $(docdir)/gcc.1
-rm -f $(docdir)/fsf-funding.7 $(docdir)/gfdl.7 $(docdir)/gpl.7
@@ -2614,17 +2630,17 @@ install-driver: installdirs xgcc$(exeext)
# to do the install.
install-info: doc installdirs lang.install-info
-rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
- -rm -f $(infodir)/cppinternals.info*
+ -rm -f $(infodir)/cppinternals.info* $(infodir)/gccint.info*
if [ -f $(docdir)/gcc.info ]; then \
for f in $(docdir)/cpp.info* $(docdir)/gcc.info* \
- $(docdir)/cppinternals.info*; do \
+ $(docdir)/cppinternals.info* $(docdir)/gccint.info*; do \
realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
$(INSTALL_DATA) $$f $(infodir)/$$realfile; \
done; \
else true; fi
-if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
if [ -f $(infodir)/dir ] ; then \
- for f in cpp.info gcc.info cppinternals.info; do \
+ for f in cpp.info gcc.info gccint.info cppinternals.info; do \
if [ -f $(infodir)/$$f ]; then \
install-info --dir-file=$(infodir)/dir $(infodir)/$$f; \
else true; fi; \
@@ -2632,7 +2648,7 @@ install-info: doc installdirs lang.install-info
else true; fi; \
else true; fi;
-chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
- -chmod a-x $(infodir)/cppinternals.info*
+ -chmod a-x $(infodir)/cppinternals.info* $(infodir)/gccint.info*
# Install the man pages.
install-man: installdirs $(GENERATED_MANPAGES) lang.install-man
@@ -2776,7 +2792,7 @@ uninstall: intl.uninstall lang.uninstall $(UNINSTALL_CPP)
-rm -rf $(man1dir)/protoize$(man1ext)
-rm -rf $(man1dir)/unprotoize$(man1ext)
-rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
- -rm -f $(infodir)/cppinternals.info*
+ -rm -f $(infodir)/cppinternals.info* $(infodir)/gccint.info*
#
# These targets are for the dejagnu testsuites. The file site.exp
# contains global variables that all the testsuites will use.
diff --git a/gcc/doc/.cvsignore b/gcc/doc/.cvsignore
index 48cfd3d..c8ae132 100644
--- a/gcc/doc/.cvsignore
+++ b/gcc/doc/.cvsignore
@@ -1,4 +1,5 @@
gcc.info*
+gccint.info*
cpp.info*
cppinternals.info*
gcc.1
diff --git a/gcc/doc/configfiles.texi b/gcc/doc/configfiles.texi
index ca0a3a4..58aaf57 100644
--- a/gcc/doc/configfiles.texi
+++ b/gcc/doc/configfiles.texi
@@ -10,19 +10,10 @@ you need not be concerned with these files.
@itemize @bullet
@item
-@ifset INTERNALS
A file named @file{config.h} is created that contains a @samp{#include}
of the top-level config file for the machine you will run the compiler
on (@pxref{Config}). This file is responsible for defining information
about the host machine. It includes @file{tm.h}.
-@end ifset
-@ifclear INTERNALS
-A file named @file{config.h} is created that contains a @samp{#include}
-of the top-level config file for the machine you will run the compiler
-on (@pxref{Config,,The Configuration File, gcc.info, Using and Porting
-GCC}). This file is responsible for defining information about the host
-machine. It includes @file{tm.h}.
-@end ifclear
The top-level config file is located in the subdirectory @file{config}.
Its name is always @file{xm-@var{something}.h}; usually
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 6413759..a9f659d 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -379,64 +379,6 @@ C++ Language}, for extensions that apply @emph{only} to C++.
Some features that are in ISO C99 but not C89 or C++ are also, as
extensions, accepted by GCC in C89 mode and in C++.
-@c The only difference between the two versions of this menu is that the
-@c version for clear INTERNALS has an extra node, "Constraints" (which
-@c appears in a separate chapter in the other version of the manual).
-@ifset INTERNALS
-@menu
-* Statement Exprs:: Putting statements and declarations inside expressions.
-* Local Labels:: Labels local to a statement-expression.
-* Labels as Values:: Getting pointers to labels, and computed gotos.
-* Nested Functions:: As in Algol and Pascal, lexical scoping of functions.
-* Constructing Calls:: Dispatching a call to another function.
-* Naming Types:: Giving a name to the type of some expression.
-* Typeof:: @code{typeof}: referring to the type of an expression.
-* Lvalues:: Using @samp{?:}, @samp{,} and casts in lvalues.
-* Conditionals:: Omitting the middle operand of a @samp{?:} expression.
-* Long Long:: Double-word integers---@code{long long int}.
-* Complex:: Data types for complex numbers.
-* Hex Floats:: Hexadecimal floating-point constants.
-* Zero Length:: Zero-length arrays.
-* Variable Length:: Arrays whose length is computed at run time.
-* Variadic Macros:: Macros with a variable number of arguments.
-* Escaped Newlines:: Slightly looser rules for escaped newlines.
-* Multi-line Strings:: String literals with embedded newlines.
-* Subscripting:: Any array can be subscripted, even if not an lvalue.
-* Pointer Arith:: Arithmetic on @code{void}-pointers and function pointers.
-* Initializers:: Non-constant initializers.
-* Compound Literals:: Compound literals give structures, unions
- or arrays as values.
-* Designated Inits:: Labeling elements of initializers.
-* Cast to Union:: Casting to union type from any member of the union.
-* Case Ranges:: `case 1 ... 9' and such.
-* Mixed Declarations:: Mixing declarations and code.
-* Function Attributes:: Declaring that functions have no side effects,
- or that they can never return.
-* Attribute Syntax:: Formal syntax for attributes.
-* Function Prototypes:: Prototype declarations and old-style definitions.
-* C++ Comments:: C++ comments are recognized.
-* Dollar Signs:: Dollar sign is allowed in identifiers.
-* Character Escapes:: @samp{\e} stands for the character @key{ESC}.
-* Variable Attributes:: Specifying attributes of variables.
-* Type Attributes:: Specifying attributes of types.
-* Alignment:: Inquiring about the alignment of a type or variable.
-* Inline:: Defining inline functions (as fast as macros).
-* Extended Asm:: Assembler instructions with C expressions as operands.
- (With them you can define ``built-in'' functions.)
-* Asm Labels:: Specifying the assembler name to use for a C symbol.
-* Explicit Reg Vars:: Defining variables residing in specified registers.
-* Alternate Keywords:: @code{__const__}, @code{__asm__}, etc., for header files.
-* Incomplete Enums:: @code{enum foo;}, with details to follow.
-* Function Names:: Printable strings which are the name of the current
- function.
-* Return Address:: Getting the return or frame address of a function.
-* Vector Extensions:: Using vector instructions through built-in functions.
-* Other Builtins:: Other built-in functions.
-* Pragmas:: Pragmas accepted by GCC.
-* Unnamed Fields:: Unnamed struct/union fields within structs/unions.
-@end menu
-@end ifset
-@ifclear INTERNALS
@menu
* Statement Exprs:: Putting statements and declarations inside expressions.
* Local Labels:: Labels local to a statement-expression.
@@ -488,8 +430,8 @@ extensions, accepted by GCC in C89 mode and in C++.
* Vector Extensions:: Using vector instructions through built-in functions.
* Other Builtins:: Other built-in functions.
* Pragmas:: Pragmas accepted by GCC.
+* Unnamed Fields:: Unnamed struct/union fields within structs/unions.
@end menu
-@end ifclear
@node Statement Exprs
@section Statements and Declarations in Expressions
@@ -3791,11 +3733,7 @@ clobber for reg-stack.c to know that @code{fyl2xp1} pops both inputs.
asm ("fyl2xp1" : "=t" (result) : "0" (x), "u" (y) : "st(1)");
@end example
-@ifclear INTERNALS
-@c Show the details on constraints if they do not appear elsewhere in
-@c the manual
@include md.texi
-@end ifclear
@node Asm Labels
@section Controlling Names Used in Assembler Code
diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi
index 67ea96a..f8e477c 100644
--- a/gcc/doc/gcc.texi
+++ b/gcc/doc/gcc.texi
@@ -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
@@ -41,37 +22,9 @@
@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
@@ -107,31 +60,22 @@
\global\setfont\defbf\ttbshape{10}{\magstep1}
@end tex
+@macro copyrightnotice
+Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+1999, 2000, 2001 Free Software Foundation, Inc.
+@end macro
@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
+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
-@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.
+@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
@@ -153,41 +97,30 @@ included in the section entitled ``GNU Free Documentation License''.
@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
+@center @titlefont{Using the GNU Compiler Collection}
@sp 2
@center Richard M. Stallman
@sp 3
-@center Last updated 22 June 2001
+@center Last updated 7 December 2001
@sp 1
-@c The version number appears five times more in this file.
-@center for GCC 3.1
+@center for GCC @value{version-GCC}
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
-1999, 2000, 2001 Free Software Foundation, Inc.
+@copyrightnotice{}
@sp 2
-For GCC Version 3.1@*
+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
@@ -215,27 +148,15 @@ 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
-@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
+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
-@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}.
@@ -249,22 +170,6 @@ bugs. It corresponds to GCC version 3.1.
* 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.
@@ -278,55 +183,20 @@ bugs. It corresponds to GCC version 3.1.
* Index:: Index of concepts and symbol names.
@end menu
-@ifset USING
-
@include frontends.texi
-
@include standards.texi
-
@include invoke.texi
-
@include extend.texi
-
@include objc.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
@c ---------------------------------------------------------------------
diff --git a/gcc/doc/gccint.texi b/gcc/doc/gccint.texi
new file mode 100644
index 0000000..7f6f4b9
--- /dev/null
+++ b/gcc/doc/gccint.texi
@@ -0,0 +1,224 @@
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+@setfilename gccint.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.
+@set INTERNALS
+
+@c See miscellaneous notes in gcc.texi on checks/things to do.
+
+@include gcc-common.texi
+
+@settitle GNU Compiler Collection (GCC) Internals
+
+@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 Free Software Foundation, Inc.
+@end macro
+@ifnottex
+@dircategory Programming
+@direntry
+* gccint: (gccint). Internals of the GNU Compiler Collection.
+@end direntry
+This file documents the internals 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{GNU Compiler Collection Internals}
+@sp 2
+@center Richard M. Stallman
+@sp 3
+@center Last updated 7 December 2001
+@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, Contributing,, (DIR)
+@top Introduction
+@cindex introduction
+
+This manual documents 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. It corresponds to GCC version
+@value{version-GCC}. The use of the GNU compilers is documented in a
+separate manual. @xref{Top,, Introduction, gcc, Using the GNU
+Compiler Collection (GCC)}.
+
+@menu
+* Contributing:: How to contribute to testing and developing GCC.
+* Makefile:: Additional Makefile and configure information.
+* 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.
+
+* 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 contribute.texi
+@include makefile.texi
+@include configterms.texi
+@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
+
+@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
diff --git a/gcc/doc/include/gcc-common.texi b/gcc/doc/include/gcc-common.texi
new file mode 100644
index 0000000..947dde1
--- /dev/null
+++ b/gcc/doc/include/gcc-common.texi
@@ -0,0 +1,36 @@
+@c Copyright (C) 2001 Free Software Foundation, Inc.
+@c This is part of the GCC manual.
+@c For copying conditions, see the file gcc.texi.
+
+@c Common values used in the GCC manuals:
+
+@set version-GCC 3.1
+
+@c Common macros to support generating man pages:
+
+@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
+
+@c For FSF printing, define FSFPRINT. Also update the ISBNs and last
+@c printing dates in gcc.texi and gccint.texi.
+@c @set FSFPRINT
+@ifset FSFPRINT
+@smallbook
+@finalout
+@end ifset
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 03def55..8c5f1a6 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -3239,21 +3239,12 @@ restore frame pointers; it also makes an extra register available
in many functions. @strong{It also makes debugging impossible on
some machines.}
-@ifset INTERNALS
-On some machines, such as the VAX, this flag has no effect, because
-the standard calling sequence automatically handles the frame pointer
-and nothing is saved by pretending it doesn't exist. The
-machine-description macro @code{FRAME_POINTER_REQUIRED} controls
-whether a target machine supports this flag. @xref{Registers}.
-@end ifset
-@ifclear INTERNALS
On some machines, such as the VAX, this flag has no effect, because
the standard calling sequence automatically handles the frame pointer
and nothing is saved by pretending it doesn't exist. The
machine-description macro @code{FRAME_POINTER_REQUIRED} controls
whether a target machine supports this flag. @xref{Registers,,Register
-Usage, gcc.info, Using and Porting GCC}.
-@end ifclear
+Usage, gccint, GNU Compiler Collection (GCC) Internals}.
@item -foptimize-sibling-calls
@opindex foptimize-sibling-calls
@@ -3624,7 +3615,6 @@ file The information in this data file is very dependent on the
structure of the generated code, so you must use the same source code
and the same optimization options for both compilations.
-@ifset INTERNALS
With @option{-fbranch-probabilities}, GCC puts a @samp{REG_EXEC_COUNT}
note on the first instruction of each basic block, and a
@samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
@@ -3632,7 +3622,6 @@ These can be used to improve optimization. Currently, they are only
used in one place: in @file{reorg.c}, instead of guessing which path a
branch is mostly to take, the @samp{REG_BR_PROB} values are used to
exactly determine which path is taken more often.
-@end ifset
@item -fno-guess-branch-probability
@opindex fno-guess-branch-probability
@@ -3689,13 +3678,11 @@ int f() @{
@}
@end example
-@ifset INTERNALS
Every language that wishes to perform language-specific alias analysis
should define a function that computes, given an @code{tree}
node, an alias set for the node. Nodes in different alias sets are not
allowed to alias. For an example, see the C front-end function
@code{c_get_alias_set}.
-@end ifset
@item -falign-functions
@itemx -falign-functions=@var{n}
@@ -4276,20 +4263,16 @@ One of the standard libraries bypassed by @option{-nostdlib} and
@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
that GCC uses to overcome shortcomings of particular machines, or special
needs for some languages.
-@ifset INTERNALS
-(@xref{Interface,,Interfacing to GCC Output}, for more discussion of
-@file{libgcc.a}.)
-@end ifset
-@ifclear INTERNALS
-(@xref{Interface,,Interfacing to GCC Output,gcc.info,Porting GCC},
+(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
+Collection (GCC) Internals},
for more discussion of @file{libgcc.a}.)
-@end ifclear
In most cases, you need @file{libgcc.a} even when you want to avoid
other standard libraries. In other words, when you specify @option{-nostdlib}
or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
This ensures that you have no unresolved references to internal GCC
library subroutines. (For example, @samp{__main}, used to ensure C++
-constructors will be called; @pxref{Collect2,,@command{collect2}}.)
+constructors will be called; @pxref{Collect2,,@code{collect2}, gccint,
+GNU Compiler Collection (GCC) Internals}.)
@item -s
@opindex s
@@ -5059,11 +5042,9 @@ Some configurations of the compiler also support additional special
options, usually for compatibility with other compilers on the same
platform.
-@ifset INTERNALS
These options are defined by the macro @code{TARGET_SWITCHES} in the
machine description. The default for the options is also defined by
that macro, which enables you to change the defaults.
-@end ifset
@menu
* M680x0 Options::
@@ -7460,12 +7441,10 @@ depends on the target gcc was configured for, but commonly is either
@samp{_flush_func} or @samp{__cpu_flush}.
@end table
-@ifset INTERNALS
These options are defined by the macro
@code{TARGET_SWITCHES} in the machine description. The default for the
options is also defined by that macro, which enables you to change the
defaults.
-@end ifset
@node i386 and x86-64 Options
@subsection Intel 386 and AMD x86-64 Options
@@ -10099,20 +10078,12 @@ operates. Some of them work by specifying directories or prefixes to use
when searching for various kinds of files. Some are used to specify other
aspects of the compilation environment.
-@ifclear INTERNALS
-Note that you can also specify places to search using options such as
-@option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}). These
-take precedence over places specified using environment variables, which
-in turn take precedence over those specified by the configuration of GCC@.
-
-@end ifclear
-@ifset INTERNALS
Note that you can also specify places to search using options such as
@option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}). These
take precedence over places specified using environment variables, which
in turn take precedence over those specified by the configuration of GCC@.
-@xref{Driver}.
-@end ifset
+@xref{Driver,, Controlling the Compilation Driver @file{gcc}, gccint,
+GNU Compiler Collection (GCC) Internals}.
@table @env
@item LANG
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index df0fb62..7c27220 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -701,8 +701,8 @@ as follows, having the output control string start with a @samp{@@}:
@end ifset
@c Most of this node appears by itself (in a different place) even
-@c when the INTERNALS flag is clear. Passages that require the full
-@c manual's context are conditionalized to appear only in the full manual.
+@c when the INTERNALS flag is clear. Passages that require the internals
+@c manual's context are conditionalized to appear only in the internals manual.
@ifset INTERNALS
@node Constraints
@section Operand Constraints
@@ -5075,7 +5075,6 @@ units. These insns will cause a potential conflict for the second unit
used during their execution and there is no way of representing that
conflict. We welcome any examples of how function unit conflicts work
in such processors and suggestions for their representation.
-@end ifset
@node Conditional Execution
@section Conditional Execution
@@ -5208,3 +5207,4 @@ You could write:
The constants that are defined with a define_constant are also output
in the insn-codes.h header file as #defines.
+@end ifset
diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi
index 7717341..8d9a06e 100644
--- a/gcc/doc/passes.texi
+++ b/gcc/doc/passes.texi
@@ -42,12 +42,8 @@ compiling a function definition, the storage used for that function
definition's compilation is entirely freed, unless it is an inline
function, or was deferred for some reason (this can occur in
templates, for example).
-@ifset USING
-(@pxref{Inline,,An Inline Function is As Fast As a Macro}).
-@end ifset
-@ifclear USING
-(@pxref{Inline,,An Inline Function is As Fast As a Macro,gcc.texi,Using GCC}).
-@end ifclear
+(@pxref{Inline,,An Inline Function is As Fast As a Macro,gcc,Using the
+GNU Compiler Collection (GCC)}).
Here is a list of all the passes of the compiler and their source files.
Also included is a description of where debugging dumps can be requested
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 30c94ee..7f55142 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -8283,13 +8283,7 @@ for a true value, but does not guarantee the value of any other bits,
but we do not know of any machine that has such an instruction. If you
are trying to port GCC to such a machine, include an instruction to
perform a logical-and of the result with 1 in the pattern for the
-comparison operators and let us know
-@ifset USING
-(@pxref{Bug Reporting,,How to Report Bugs}).
-@end ifset
-@ifclear USING
-(@pxref{Bug Reporting,,How to Report Bugs,gcc.info,Using GCC}).
-@end ifclear
+comparison operators and let us know at @email{gcc@@gcc.gnu.org}.
Often, a machine will have multiple instructions that obtain a value
from a comparison (or the condition codes). Here are rules to guide the
diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi
index 6c792e8..0b61c44 100644
--- a/gcc/doc/trouble.texi
+++ b/gcc/doc/trouble.texi
@@ -87,13 +87,8 @@ it is the only way to win.)
It is now possible to overcome these problems by defining macros such
as @code{REAL_VALUE_TYPE}. But doing so is a substantial amount of
work for each target machine.
-@ifset INTERNALS
-@xref{Cross-compilation}.
-@end ifset
-@ifclear INTERNALS
-@xref{Cross-compilation,,Cross Compilation and Floating Point Format,
-gcc.info, Using and Porting GCC}.
-@end ifclear
+@xref{Cross-compilation,,Cross Compilation and Floating Point,
+gccint, GNU Compiler Collection (GCC) Internals}.
@item
At present, the program @file{mips-tfile} which adds debug
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 3930351..7521bd2 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,7 @@
+2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * g77.texi, invoke.texi: Update links to GCC manual.
+
Sun Dec 16 16:08:57 2001 Joseph S. Myers <jsm28@cam.ac.uk>
* news.texi: Fix spelling errors.
diff --git a/gcc/f/g77.texi b/gcc/f/g77.texi
index be9b814..38512cf 100644
--- a/gcc/f/g77.texi
+++ b/gcc/f/g77.texi
@@ -295,7 +295,8 @@ many people have helped create and improve GNU Fortran.
@item
The packaging and compiler portions of GNU Fortran are based largely
on the GNU CC compiler.
-@xref{Contributors,,Contributors to GNU CC,gcc,Using and Porting GNU CC},
+@xref{Contributors,,Contributors to GCC,gcc,Using the GNU Compiler
+Collection (GCC)},
for more information.
@item
@@ -845,7 +846,8 @@ files and accepts Fortran-specific command-line options, plus some
command-line options that are designed to cater to Fortran users
but apply to other languages as well.
-@xref{G++ and GCC,,Compile C; C++; or Objective-C,gcc,Using and Porting GNU CC},
+@xref{G++ and GCC,,Compile C; C++; Objective-C; Ada; CHILL; Fortran;
+or Java,gcc,Using the GNU Compiler Collection (GCC)},
for information on the way different languages are handled
by the GNU CC compiler (@command{gcc}).
@@ -7816,7 +7818,8 @@ maths library, but we have no evidence of it causing trouble.)
Some targets (such as the Alpha) may need special options for full IEEE
conformance.
-@xref{Submodel Options,,Hardware Models and Configurations,gcc,Using and Porting GNU CC}.
+@xref{Submodel Options,,Hardware Models and Configurations,gcc,Using
+the GNU Compiler Collection (GCC)}.
@node Inconsistent Calling Sequences
@subsection Inconsistent Calling Sequences
@@ -8120,8 +8123,9 @@ compiler, typically @command{gcc}.)
Using an appropriate @option{-m} option to generate specific code for your
CPU may be worthwhile, though it may mean the executable won't run on
other versions of the CPU that don't support the same instruction set.
-@xref{Submodel Options,,Hardware Models and Configurations,gcc,Using and
-Porting GNU CC}. For instance on an x86 system the compiler might have
+@xref{Submodel Options,,Hardware Models and Configurations,gcc,Using the
+GNU Compiler Collection (GCC)}. For instance on an x86 system the
+compiler might have
been built---as shown by @samp{g77 -v}---for the target
@samp{i386-pc-linux-gnu}, i.e.@: an @samp{i386} CPU@. In that case to
generate code best optimized for a Pentium you could use the option
@@ -8159,8 +8163,8 @@ directly from the @command{gcc} manual, with minor modifications
to tailor it to users of @command{g77}.
Anytime a bug seems to have more to do with the @command{gcc}
portion of @command{g77}, see
-@ref{Trouble,,Known Causes of Trouble with GNU CC,
-gcc,Using and Porting GNU CC}.)
+@ref{Trouble,,Known Causes of Trouble with GCC,
+gcc,Using the GNU Compiler Collection (GCC)}.)
@menu
* But-bugs:: Bugs really in other programs or elsewhere.
@@ -12180,7 +12184,8 @@ preprocessing.
Or, learn how to use @command{gcc}'s @option{-x} option to specify
the language @samp{f77-cpp-input} for Fortran files that
require preprocessing.
-@xref{Overall Options,,gcc,Using and Porting GNU CC}.
+@xref{Overall Options,,Options Controlling the Kind of
+Output,gcc,Using the GNU Compiler Collection (GCC)}.
@item
The source file is preprocessed, and the results of preprocessing
diff --git a/gcc/f/invoke.texi b/gcc/f/invoke.texi
index 4199af6..67d4b4a 100644
--- a/gcc/f/invoke.texi
+++ b/gcc/f/invoke.texi
@@ -68,8 +68,8 @@ See the Info entry for @file{g77}, or
The @command{g77} command supports all the options supported by the
@command{gcc} command.
-@xref{Invoking GCC,,GNU CC Command Options,gcc,Using and Porting GNU CC},
-for information
+@xref{Invoking GCC,,GCC Command Options,gcc,Using the GNU Compiler
+Collection (GCC)}, for information
on the non-Fortran-specific aspects of the @command{gcc} command (and,
therefore, the @command{g77} command).
@@ -254,7 +254,8 @@ For any given input file, the file name suffix determines what kind of
program is contained in the file---that is, the language in which the
program is written is generally indicated by the suffix.
Suffixes specific to GNU Fortran are listed below.
-@xref{Overall Options,,gcc,Using and Porting GNU CC}, for
+@xref{Overall Options,,Options Controlling the Kind of
+Output,gcc,Using the GNU Compiler Collection (GCC)}, for
information on suffixes recognized by GNU CC.
@table @gcctabopt
@@ -350,7 +351,7 @@ line is a non-comment line of important code!
@emph{Note:} The @option{-traditional} and @option{-undef} flags are supplied
to @command{cpp} by default, to help avoid unpleasant surprises.
@xref{Preprocessor Options,,Options Controlling the Preprocessor,
-gcc,Using and Porting GNU CC}.
+gcc,Using the GNU Compiler Collection (GCC)}.
This means that ANSI C preprocessor features (such as the @samp{#}
operator) aren't available, and only variables in the C reserved
namespace (generally, names with a leading underscore) are liable to
@@ -443,7 +444,7 @@ UNIX @command{f77} implementations and @command{f2c}
@end table
@xref{Overall Options,,Options Controlling the Kind of Output,
-gcc,Using and Porting GNU CC}, for information
+gcc,Using the GNU Compiler Collection (GCC)}, for information
on more options that control the overall operation of the @command{gcc} command
(and, by extension, the @command{g77} command).
@@ -1337,7 +1338,8 @@ for certain configurations).
@end table
@xref{Warning Options,,Options to Request or Suppress Warnings,
-gcc,Using and Porting GNU CC}, for information on more options offered
+gcc,Using the GNU Compiler Collection (GCC)}, for information on more
+options offered
by the GBE shared by @command{g77} @command{gcc} and other GNU compilers.
Some of these have no effect when compiling programs written in Fortran:
@@ -1399,8 +1401,9 @@ Produce debugging information in the operating system's native format
information.
@end table
-@xref{Debugging Options,,Options for Debugging Your Program or GNU CC,
-gcc,Using and Porting GNU CC}, for more information on debugging options.
+@xref{Debugging Options,,Options for Debugging Your Program or GCC,
+gcc,Using the GNU Compiler Collection (GCC)}, for more information on
+debugging options.
@node Optimize Options
@section Options That Control Optimization
@@ -1628,7 +1631,7 @@ non-Fortran code that benefits when they are
@end table
@xref{Optimize Options,,Options That Control Optimization,
-gcc,Using and Porting GNU CC}, for more information on options
+gcc,Using the GNU Compiler Collection (GCC)}, for more information on options
to optimize the generated machine code.
@node Preprocessor Options
@@ -1642,7 +1645,8 @@ These options control the C preprocessor, which is run on each C source
file before actual compilation.
@xref{Preprocessor Options,,Options Controlling the Preprocessor,
-gcc,Using and Porting GNU CC}, for information on C preprocessor options.
+gcc,Using the GNU Compiler Collection (GCC)}, for information on C
+preprocessor options.
@cindex INCLUDE directive
@cindex directive, INCLUDE
@@ -1710,7 +1714,8 @@ Also note that the general behavior of @option{-I} and
looking for @file{header.gcc} files and other such things.
@xref{Directory Options,,Options for Directory Search,
-gcc,Using and Porting GNU CC}, for information on the @option{-I} option.
+gcc,Using the GNU Compiler Collection (GCC)}, for information on the
+@option{-I} option.
@end table
@node Code Gen Options
@@ -2131,7 +2136,7 @@ to it users.)
@end table
@xref{Code Gen Options,,Options for Code Generation Conventions,
-gcc,Using and Porting GNU CC}, for information on more options
+gcc,Using the GNU Compiler Collection (GCC)}, for information on more options
offered by the GBE
shared by @command{g77} @command{gcc} and other GNU compilers.
@@ -2180,8 +2185,8 @@ GNU Fortran currently does not make use of any environment
variables to control its operation above and beyond those
that affect the operation of @command{gcc}.
-@xref{Environment Variables,,Environment Variables Affecting GNU CC,
-gcc,Using and Porting GNU CC}, for information on environment
+@xref{Environment Variables,,Environment Variables Affecting GCC,
+gcc,Using the GNU Compiler Collection (GCC)}, for information on environment
variables.
@c man end
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 0c74f35..594059d 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gcj.texi: Update link to GCC manual.
+
2001-12-17 Tom Tromey <tromey@redhat.com>
* parse.y (link_nested_class_to_enclosing): Removed useless
diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi
index 43d4c93..267c8ee 100644
--- a/gcc/java/gcj.texi
+++ b/gcc/java/gcj.texi
@@ -154,7 +154,7 @@ and the Info entries for @file{gcj} and @file{gcc}.
As @code{gcj} is just another front end to @code{gcc}, it supports many
of the same options as gcc. @xref{Option Summary, , Option Summary,
-gcc, Using the GNU Compiler Collection}. This manual only documents the
+gcc, Using the GNU Compiler Collection (GCC)}. This manual only documents the
options specific to @code{gcj}.
@c man end