diff options
author | Joseph Myers <jsm28@gcc.gnu.org> | 2004-03-21 13:33:25 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2004-03-21 13:33:25 +0000 |
commit | 6ad79f188db97feb3003cf9c8698da73580e2f00 (patch) | |
tree | 56fc5dcf829a3c0267952b0f0cc734281e41d1fc | |
parent | cfb453f3dacadadcf9cbf38d948a332063b3c7cb (diff) | |
download | gcc-6ad79f188db97feb3003cf9c8698da73580e2f00.tar.gz |
frontends.texi: Rewrite.
2004-03-21 Zack Weinberg <zack@codesourcery.com>
Chris Devers <cdevers@pobox.com>
Joseph S. Myers <jsm@polyomino.org.uk>
* doc/frontends.texi: Rewrite.
* doc/gcc.texi: Update last modification date.
f:
* g77.texi: Update link to "G++ and GCC".
treelang:
* treelang.texi: Update link to "G++ and GCC".
From-SVN: r79777
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/doc/frontends.texi | 92 | ||||
-rw-r--r-- | gcc/doc/gcc.texi | 2 | ||||
-rw-r--r-- | gcc/f/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/f/g77.texi | 6 | ||||
-rw-r--r-- | gcc/treelang/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/treelang/treelang.texi | 7 |
7 files changed, 64 insertions, 58 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b59f2ed857..a1a5d191c97 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-03-21 Zack Weinberg <zack@codesourcery.com> + Chris Devers <cdevers@pobox.com> + Joseph S. Myers <jsm@polyomino.org.uk> + + * doc/frontends.texi: Rewrite. + * doc/gcc.texi: Update last modification date. + 2004-03-21 Josef Zlomek <zlomekj@suse.cz> * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug diff --git a/gcc/doc/frontends.texi b/gcc/doc/frontends.texi index 8b5ea63947f..26f59801010 100644 --- a/gcc/doc/frontends.texi +++ b/gcc/doc/frontends.texi @@ -4,67 +4,57 @@ @c For copying conditions, see the file gcc.texi. @node G++ and GCC -@chapter Compile C, C++, Objective-C, Ada, Fortran, Java, or treelang +@chapter Programming Languages Supported by GCC -@cindex Objective-C +@cindex GCC +@cindex GNU Compiler Collection +@cindex GNU C Compiler +@cindex Ada @cindex Fortran @cindex Java -@cindex Ada +@cindex Objective-C @cindex treelang -Several versions of the compiler (C, C++, Objective-C, Ada, -Fortran, Java and treelang) are integrated; this is why we use the name -``GNU Compiler Collection''. GCC can compile programs written in any of these -languages. The Ada, Fortran, Java and treelang compilers are described in -separate manuals. - -@cindex GCC -``GCC'' is a common shorthand term for the GNU Compiler Collection. This is both -the most general name for the compiler, and the name used when the -emphasis is on compiling C programs (as the abbreviation formerly -stood for ``GNU C Compiler''). +GCC stands for ``GNU Compiler Collection''. GCC is an integrated +distribution of compilers for several major programming languages. These +languages currently include C, C++, Objective-C, Java, Fortran, and Ada. + +The abbreviation @dfn{GCC} has multiple meanings in common use. The +current official meaning is ``GNU Compiler Collection'', which refers +generically to the complete suite of tools. The name historically stood +for ``GNU C Compiler'', and this usage is still common when the emphasis +is on compiling C programs. Finally, the name is also used when speaking +of the @dfn{language-independent} component of GCC: code shared among the + +The language-independent component of GCC includes the majority of the +optimizers, as well as the ``back ends'' that generate machine code for +various processors. + +@cindex COBOL +@cindex Mercury +@cindex Pascal +The part of a compiler that is specific to a particular language is +called the ``front end''. In addition to the front ends that are +integrated components of GCC, there are several other front ends that +are maintained separately. These support languages such as Pascal, +Mercury, and COBOL. To use these, they must be built together with +GCC proper. @cindex C++ @cindex G++ -When referring to C++ compilation, it is usual to call the compiler -``G++''. Since there is only one compiler, it is also accurate to call -it ``GCC'' no matter what the language context; however, the term -``G++'' is more useful when the emphasis is on compiling C++ programs. - @cindex Ada @cindex GNAT -Similarly, when we talk about Ada compilation, we usually call the -compiler ``GNAT'', for the same reasons. - -We use the name ``GCC'' to refer to the compilation system as a -whole, and more specifically to the language-independent part of the -compiler. For example, we refer to the optimization options as -affecting the behavior of ``GCC'' or sometimes just ``the compiler''. - -Front ends for other languages, such as Mercury and Pascal exist but -have not yet been integrated into GCC@. These front ends, like that for C++, -are built in subdirectories of GCC and link to it. The result is an -integrated compiler that can compile programs written in C, C++, -Objective-C, or any of the languages for which you have installed front -ends. - -In this manual, we only discuss the options for the C, Objective-C, and -C++ compilers and those of the GCC core. Consult the documentation -of the other front ends for the options to use when compiling programs -written in other languages. +Most of the compilers for languages other than C have their own names. +The C++ compiler is G++, the Ada compiler is GNAT, and so on. When we +talk about compiling one of those languages, we might refer to that +compiler by its own name, or as GCC@. Either is correct. @cindex compiler compared to C++ preprocessor @cindex intermediate C version, nonexistent @cindex C intermediate output, nonexistent -G++ is a @emph{compiler}, not merely a preprocessor. G++ builds object -code directly from your C++ program source. There is no intermediate C -version of the program. (By contrast, for example, some other -implementations use a program that generates a C program from your C++ -source.) Avoiding an intermediate C representation of the program means -that you get better object code, and better debugging information. The -GNU debugger, GDB, works with this information in the object code to -give you comprehensive C++ source-level editing capabilities -(@pxref{C,,C and C++,gdb.info, Debugging with GDB}). - -@c FIXME! Someone who knows something about Objective-C ought to put in -@c a paragraph or two about it here, and move the index entry down when -@c there is more to point to than the general mention in the 1st par. +Historically, compilers for many languages, including C++ and Fortran, +have been implemented as ``preprocessors'' which emit another high +level language such as C@. None of the compilers included in GCC are +implemented this way; they all generate machine code directly. This +sort of preprocessor should not be confused with the @dfn{C +preprocessor}, which is an integral feature of the C, C++, and +Objective-C languages. diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi index a682ee33822..d56dd4f3144 100644 --- a/gcc/doc/gcc.texi +++ b/gcc/doc/gcc.texi @@ -97,7 +97,7 @@ Boston, MA 02111-1307 USA @sp 2 @center Richard M. Stallman @sp 3 -@center Last updated 2 January 2004 +@center Last updated 21 March 2004 @sp 1 @center for GCC @value{version-GCC} diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 44ccc3c2715..18c33b76a4f 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,7 @@ +2004-03-21 Joseph S. Myers <jsm@polyomino.org.uk> + + * g77.texi: Update link to "G++ and GCC". + 2004-03-21 Gerald Pfeifer <gerald@pfeifer.com> * g77.texi (Aligned Data): Remove obsolete paragraph including a diff --git a/gcc/f/g77.texi b/gcc/f/g77.texi index b2bbf39d457..b0d7805280e 100644 --- a/gcc/f/g77.texi +++ b/gcc/f/g77.texi @@ -2,7 +2,7 @@ @c %**start of header @setfilename g77.info -@set last-update 2003-05-13 +@set last-update 2004-03-21 @set copyrights-g77 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 @include root.texi @@ -799,8 +799,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++; Objective-C; Ada; Fortran; -or Java,gcc,Using the GNU Compiler Collection (GCC)}, +@xref{G++ and GCC,,Programming Languages Supported by GCC,gcc,Using +the GNU Compiler Collection (GCC)}, for information on the way different languages are handled by the GCC compiler (@command{gcc}). diff --git a/gcc/treelang/ChangeLog b/gcc/treelang/ChangeLog index 6aa392cc5d3..5c5ca9a1b46 100644 --- a/gcc/treelang/ChangeLog +++ b/gcc/treelang/ChangeLog @@ -1,3 +1,7 @@ +2004-03-21 Joseph S. Myers <jsm@polyomino.org.uk> + + * treelang.texi: Update link to "G++ and GCC". + 2004-02-20 Richard Henderson <rth@redhat.com> * Make-lang.in (treelang-warn): Add -Wno-variadic-macros. diff --git a/gcc/treelang/treelang.texi b/gcc/treelang/treelang.texi index 501c4bfca95..789ffffb7f5 100644 --- a/gcc/treelang/treelang.texi +++ b/gcc/treelang/treelang.texi @@ -12,8 +12,8 @@ @set version-treelang 1.0 -@set last-update 2001-07-30 -@set copyrights-treelang 1995,1996,1997,1998,1999,2000,2001,2002 +@set last-update 2004-03-21 +@set copyrights-treelang 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 @set email-general gcc@@gcc.gnu.org @set email-bugs gcc-bugs@@gcc.gnu.org or bug-gcc@@gnu.org @@ -885,7 +885,8 @@ files and accepts Treelang-specific command-line options, plus some command-line options that are designed to cater to Treelang users but apply to other languages as well. -@xref{G++ and GCC,,Compile C; C++; or Objective-C,GCC,Using and Porting GCC}, +@xref{G++ and GCC,,Programming Languages Supported by GCC,GCC,Using +the GNU Compiler Collection (GCC)}, for information on the way different languages are handled by the GCC compiler (@code{gcc}). |