Commit 6ad79f18 by Joseph Myers

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
parent cfb453f3
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> 2004-03-21 Josef Zlomek <zlomekj@suse.cz>
* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
......
...@@ -4,67 +4,57 @@ ...@@ -4,67 +4,57 @@
@c For copying conditions, see the file gcc.texi. @c For copying conditions, see the file gcc.texi.
@node G++ and GCC @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 Fortran
@cindex Java @cindex Java
@cindex Ada @cindex Objective-C
@cindex treelang @cindex treelang
Several versions of the compiler (C, C++, Objective-C, Ada, GCC stands for ``GNU Compiler Collection''. GCC is an integrated
Fortran, Java and treelang) are integrated; this is why we use the name distribution of compilers for several major programming languages. These
``GNU Compiler Collection''. GCC can compile programs written in any of these languages currently include C, C++, Objective-C, Java, Fortran, and Ada.
languages. The Ada, Fortran, Java and treelang compilers are described in
separate manuals. The abbreviation @dfn{GCC} has multiple meanings in common use. The
current official meaning is ``GNU Compiler Collection'', which refers
@cindex GCC generically to the complete suite of tools. The name historically stood
``GCC'' is a common shorthand term for the GNU Compiler Collection. This is both for ``GNU C Compiler'', and this usage is still common when the emphasis
the most general name for the compiler, and the name used when the is on compiling C programs. Finally, the name is also used when speaking
emphasis is on compiling C programs (as the abbreviation formerly of the @dfn{language-independent} component of GCC: code shared among the
stood for ``GNU C Compiler'').
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 C++
@cindex G++ @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 Ada
@cindex GNAT @cindex GNAT
Similarly, when we talk about Ada compilation, we usually call the Most of the compilers for languages other than C have their own names.
compiler ``GNAT'', for the same reasons. 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
We use the name ``GCC'' to refer to the compilation system as a compiler by its own name, or as GCC@. Either is correct.
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.
@cindex compiler compared to C++ preprocessor @cindex compiler compared to C++ preprocessor
@cindex intermediate C version, nonexistent @cindex intermediate C version, nonexistent
@cindex C intermediate output, nonexistent @cindex C intermediate output, nonexistent
G++ is a @emph{compiler}, not merely a preprocessor. G++ builds object Historically, compilers for many languages, including C++ and Fortran,
code directly from your C++ program source. There is no intermediate C have been implemented as ``preprocessors'' which emit another high
version of the program. (By contrast, for example, some other level language such as C@. None of the compilers included in GCC are
implementations use a program that generates a C program from your C++ implemented this way; they all generate machine code directly. This
source.) Avoiding an intermediate C representation of the program means sort of preprocessor should not be confused with the @dfn{C
that you get better object code, and better debugging information. The preprocessor}, which is an integral feature of the C, C++, and
GNU debugger, GDB, works with this information in the object code to Objective-C languages.
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.
...@@ -97,7 +97,7 @@ Boston, MA 02111-1307 USA ...@@ -97,7 +97,7 @@ Boston, MA 02111-1307 USA
@sp 2 @sp 2
@center Richard M. Stallman @center Richard M. Stallman
@sp 3 @sp 3
@center Last updated 2 January 2004 @center Last updated 21 March 2004
@sp 1 @sp 1
@center for GCC @value{version-GCC} @center for GCC @value{version-GCC}
......
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> 2004-03-21 Gerald Pfeifer <gerald@pfeifer.com>
* g77.texi (Aligned Data): Remove obsolete paragraph including a * g77.texi (Aligned Data): Remove obsolete paragraph including a
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
@c %**start of header @c %**start of header
@setfilename g77.info @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 @set copyrights-g77 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
@include root.texi @include root.texi
...@@ -799,8 +799,8 @@ files and accepts Fortran-specific command-line options, plus some ...@@ -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 command-line options that are designed to cater to Fortran users
but apply to other languages as well. but apply to other languages as well.
@xref{G++ and GCC,,Compile C; C++; Objective-C; Ada; Fortran; @xref{G++ and GCC,,Programming Languages Supported by GCC,gcc,Using
or Java,gcc,Using the GNU Compiler Collection (GCC)}, the GNU Compiler Collection (GCC)},
for information on the way different languages are handled for information on the way different languages are handled
by the GCC compiler (@command{gcc}). by the GCC compiler (@command{gcc}).
......
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> 2004-02-20 Richard Henderson <rth@redhat.com>
* Make-lang.in (treelang-warn): Add -Wno-variadic-macros. * Make-lang.in (treelang-warn): Add -Wno-variadic-macros.
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
@set version-treelang 1.0 @set version-treelang 1.0
@set last-update 2001-07-30 @set last-update 2004-03-21
@set copyrights-treelang 1995,1996,1997,1998,1999,2000,2001,2002 @set copyrights-treelang 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
@set email-general gcc@@gcc.gnu.org @set email-general gcc@@gcc.gnu.org
@set email-bugs gcc-bugs@@gcc.gnu.org or bug-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 ...@@ -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 command-line options that are designed to cater to Treelang users
but apply to other languages as well. 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 for information on the way different languages are handled
by the GCC compiler (@code{gcc}). by the GCC compiler (@code{gcc}).
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment