summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <jsm28@gcc.gnu.org>2004-03-21 13:33:25 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2004-03-21 13:33:25 +0000
commit6ad79f188db97feb3003cf9c8698da73580e2f00 (patch)
tree56fc5dcf829a3c0267952b0f0cc734281e41d1fc
parentcfb453f3dacadadcf9cbf38d948a332063b3c7cb (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/doc/frontends.texi92
-rw-r--r--gcc/doc/gcc.texi2
-rw-r--r--gcc/f/ChangeLog4
-rw-r--r--gcc/f/g77.texi6
-rw-r--r--gcc/treelang/ChangeLog4
-rw-r--r--gcc/treelang/treelang.texi7
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}).