From f5b3605162e7cf7807500e78f989b0ecf169cd28 Mon Sep 17 00:00:00 2001 From: jsm28 Date: Mon, 17 Dec 2001 19:20:05 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48119 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 17 +++ gcc/Makefile.in | 88 +++++++++------- gcc/doc/.cvsignore | 1 + gcc/doc/configfiles.texi | 9 -- gcc/doc/extend.texi | 64 +----------- gcc/doc/gcc.texi | 184 +++++---------------------------- gcc/doc/gccint.texi | 224 ++++++++++++++++++++++++++++++++++++++++ gcc/doc/include/gcc-common.texi | 36 +++++++ gcc/doc/invoke.texi | 43 ++------ gcc/doc/md.texi | 6 +- gcc/doc/passes.texi | 8 +- gcc/doc/tm.texi | 8 +- gcc/doc/trouble.texi | 9 +- gcc/f/ChangeLog | 4 + gcc/f/g77.texi | 21 ++-- gcc/f/invoke.texi | 33 +++--- gcc/java/ChangeLog | 4 + gcc/java/gcj.texi | 2 +- 18 files changed, 414 insertions(+), 347 deletions(-) create mode 100644 gcc/doc/gccint.texi create mode 100644 gcc/doc/include/gcc-common.texi diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05ea2a4624e..75440a75c16 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,20 @@ +2001-12-17 Joseph S. Myers + + 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 * config/rs6000/rs6000.h: CPP_CPU_SPEC: add mcpu=7400. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index ff1b4045af2..44c9e34d2f2 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 48cfd3dfade..c8ae13259dc 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 ca0a3a409ef..58aaf572d28 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 6413759b384..a9f659d7c57 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 67ea96a7518..f8e477c95c6 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 00000000000..7f6f4b99eed --- /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 00000000000..947dde19f71 --- /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 03def553eb1..8c5f1a6dcbb 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 df0fb62bd65..7c27220bc3e 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 771734139ac..8d9a06ea971 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 30c94eee8dd..7f5514227b4 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 6c792e84170..0b61c44c260 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 3930351a820..7521bd285c0 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,7 @@ +2001-12-17 Joseph S. Myers + + * g77.texi, invoke.texi: Update links to GCC manual. + Sun Dec 16 16:08:57 2001 Joseph S. Myers * news.texi: Fix spelling errors. diff --git a/gcc/f/g77.texi b/gcc/f/g77.texi index be9b814dbfd..38512cfc20c 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 4199af62c9a..67d4b4aa02f 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 0c74f351dd7..594059dc99d 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,7 @@ +2001-12-17 Joseph S. Myers + + * gcj.texi: Update link to GCC manual. + 2001-12-17 Tom Tromey * parse.y (link_nested_class_to_enclosing): Removed useless diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi index 43d4c936a7a..267c8ee6c49 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 -- 2.11.0