This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch to separate user and internals manuals


This patch separates the user and internals documentation into two
separate manuals (of approximately equal size).  This yields three
manuals split neatly by audience (user, internals, install), as has
been previously discussed.  The chapter on Contributing to GCC and the
miscellaneous unnumbered chapters (Funding, GNU Project, GPL, GFDL,
Contributors) are included in both manuals.  The section on assembler
constraints is also included in both (using already-present INTERNALS
conditionals).

The user manual is reasonably coherent and I don't think needs much
done to its structure (though of course it could still do with people
reading and improving it, adding missing information, updating what's
out of date, etc.).  The structure of the internals manual is somewhat
incoherent (this isn't new, just the existing jumbled collection of
chapters in the same order they were already in); I'll be reorganising
it later to put a better overall structure on it.

Miscellaneous points that should be dealt with at some point:

* FSF printing: new ISBNs and last printing dates should be provided
  by the FSF when they next print either manual.  Use -DFSFPRINT for
  such printing to enable smallbook and finalout.  I presume they'll
  want to print the user manual at some point; I don't know about the
  internals one.

* Authors: by now many people other than RMS have made significant
  contributions to the manuals and should perhaps be listed as authors
  of one or both manuals, e.g. Mark Mitchell as author of the Trees
  documentation.

* gcc-common.texi: other manuals than just gcc and gccint will
  probably want to use this file to provide the GCC version number and
  the common macros for man page generation such as @gcctabopt.

* Fortran: there are many references to GNU CC in the G77 manual that
  need to be updated to reflect the current structure of multiple
  front ends as members of the GNU Compiler Collection.  I've only
  updated the links to the GCC manual.

Bootstrapped with no regressions and installed on i686-pc-linux-gnu.
It passes "make info" and "make dvi".  OK to commit?

2001-12-07  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.

f:
2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* g77.texi, invoke.texi: Update links to GCC manual.

java:
2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gcj.texi: Update link to GCC manual.

diff -rupN gcc.orig/Makefile.in gcc/Makefile.in
--- gcc.orig/Makefile.in	Thu Dec  6 20:16:52 2001
+++ gcc/Makefile.in	Fri Dec  7 20:18:48 2001
@@ -2221,53 +2221,69 @@ stmp-fixproto: fixhdr.ready fixproto stm
 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
 
@@ -2451,7 +2467,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
@@ -2597,17 +2613,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; \
@@ -2615,7 +2631,7 @@ install-info: doc installdirs lang.insta
 	  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
@@ -2759,7 +2775,7 @@ uninstall: intl.uninstall lang.uninstall
 	-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 -rupN gcc.orig/doc/.cvsignore gcc/doc/.cvsignore
--- gcc.orig/doc/.cvsignore	Wed Nov 14 00:38:09 2001
+++ gcc/doc/.cvsignore	Fri Dec  7 17:21:27 2001
@@ -1,4 +1,5 @@
 gcc.info*
+gccint.info*
 cpp.info*
 cppinternals.info*
 gcc.1
diff -rupN gcc.orig/doc/configfiles.texi gcc/doc/configfiles.texi
--- gcc.orig/doc/configfiles.texi	Sun Nov 18 19:44:09 2001
+++ gcc/doc/configfiles.texi	Fri Dec  7 19:39:24 2001
@@ -10,19 +10,10 @@ you need not be concerned with these fil
 
 @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 -rupN gcc.orig/doc/extend.texi gcc/doc/extend.texi
--- gcc.orig/doc/extend.texi	Fri Dec  7 11:17:06 2001
+++ gcc/doc/extend.texi	Fri Dec  7 19:50:00 2001
@@ -379,64 +379,6 @@ C++ Language}, for extensions that apply
 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 
 * 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
@@ -3737,11 +3679,7 @@ clobber for reg-stack.c to know that @co
 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 -rupN gcc.orig/doc/gcc.texi gcc/doc/gcc.texi
--- gcc.orig/doc/gcc.texi	Fri Dec  7 16:51:01 2001
+++ gcc/doc/gcc.texi	Fri Dec  7 20:00:43 2001
@@ -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 F
 @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 th
 @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 -rupN gcc.orig/doc/gccint.texi gcc/doc/gccint.texi
--- gcc.orig/doc/gccint.texi	Thu Jan  1 00:00:00 1970
+++ gcc/doc/gccint.texi	Fri Dec  7 20:00:57 2001
@@ -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 -rupN gcc.orig/doc/include/gcc-common.texi gcc/doc/include/gcc-common.texi
--- gcc.orig/doc/include/gcc-common.texi	Thu Jan  1 00:00:00 1970
+++ gcc/doc/include/gcc-common.texi	Fri Dec  7 19:06:47 2001
@@ -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 -rupN gcc.orig/doc/invoke.texi gcc/doc/invoke.texi
--- gcc.orig/doc/invoke.texi	Thu Dec  6 20:17:16 2001
+++ gcc/doc/invoke.texi	Fri Dec  7 19:54:25 2001
@@ -3235,21 +3235,12 @@ restore frame pointers; it also makes an
 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
@@ -3616,7 +3607,6 @@ file  The information in this data file 
 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}.
@@ -3624,7 +3614,6 @@ These can be used to improve optimizatio
 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
@@ -3681,13 +3670,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}
@@ -4262,20 +4249,16 @@ One of the standard libraries bypassed b
 @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
@@ -5045,11 +5028,9 @@ Some configurations of the compiler also
 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::
@@ -7445,12 +7426,10 @@ depends on the target gcc was configured
 @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
@@ -10025,20 +10004,12 @@ operates.  Some of them work by specifyi
 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 -rupN gcc.orig/doc/md.texi gcc/doc/md.texi
--- gcc.orig/doc/md.texi	Fri Dec  7 11:17:06 2001
+++ gcc/doc/md.texi	Fri Dec  7 19:52:18 2001
@@ -701,8 +701,8 @@ as follows, having the output control st
 @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 potenti
 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 -rupN gcc.orig/doc/passes.texi gcc/doc/passes.texi
--- gcc.orig/doc/passes.texi	Wed Dec  5 16:50:48 2001
+++ gcc/doc/passes.texi	Fri Dec  7 19:35:58 2001
@@ -42,12 +42,8 @@ compiling a function definition, the sto
 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 -rupN gcc.orig/doc/tm.texi gcc/doc/tm.texi
--- gcc.orig/doc/tm.texi	Fri Dec  7 00:00:14 2001
+++ gcc/doc/tm.texi	Fri Dec  7 19:52:31 2001
@@ -8265,13 +8265,7 @@ for a true value, but does not guarantee
 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 -rupN gcc.orig/doc/trouble.texi gcc/doc/trouble.texi
--- gcc.orig/doc/trouble.texi	Mon Nov 26 19:52:07 2001
+++ gcc/doc/trouble.texi	Fri Dec  7 19:53:26 2001
@@ -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 -rupN gcc.orig/f/g77.texi gcc/f/g77.texi
--- gcc.orig/f/g77.texi	Wed Nov 21 08:38:09 2001
+++ gcc/f/g77.texi	Fri Dec  7 17:48:45 2001
@@ -299,7 +299,8 @@ many people have helped create and impro
 @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
@@ -849,7 +850,8 @@ files and accepts Fortran-specific comma
 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}).
 
@@ -7820,7 +7822,8 @@ maths library, but we have no evidence o
 
 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
@@ -8124,8 +8127,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
@@ -8163,8 +8167,8 @@ directly from the @command{gcc} manual, 
 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.
@@ -12184,7 +12188,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 -rupN gcc.orig/f/invoke.texi gcc/f/invoke.texi
--- gcc.orig/f/invoke.texi	Wed Nov 21 08:38:09 2001
+++ gcc/f/invoke.texi	Fri Dec  7 18:00:03 2001
@@ -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 
 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 
 @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 @
 @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 ope
 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
 @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
 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 @
 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 
 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 -rupN gcc.orig/java/gcj.texi gcc/java/gcj.texi
--- gcc.orig/java/gcj.texi	Fri Sep  7 05:51:57 2001
+++ gcc/java/gcj.texi	Fri Dec  7 17:30:00 2001
@@ -122,7 +122,7 @@ files and object files, and it can read 
 
 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}.
 
 @menu

-- 
Joseph S. Myers
jsm28@cam.ac.uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]