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
This commit is contained in:
parent
cfb453f3da
commit
6ad79f188d
7 changed files with 66 additions and 60 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
@cindex Objective-C
|
||||
@cindex Fortran
|
||||
@cindex Java
|
||||
@cindex Ada
|
||||
@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.
|
||||
@chapter Programming Languages Supported by GCC
|
||||
|
||||
@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'').
|
||||
@cindex GNU Compiler Collection
|
||||
@cindex GNU C Compiler
|
||||
@cindex Ada
|
||||
@cindex Fortran
|
||||
@cindex Java
|
||||
@cindex Objective-C
|
||||
@cindex treelang
|
||||
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.
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}).
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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}).
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue