summaryrefslogtreecommitdiff
path: root/gcc/doc/frontends.texi
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/doc/frontends.texi
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'gcc/doc/frontends.texi')
-rw-r--r--gcc/doc/frontends.texi63
1 files changed, 63 insertions, 0 deletions
diff --git a/gcc/doc/frontends.texi b/gcc/doc/frontends.texi
new file mode 100644
index 000000000..6268c196e
--- /dev/null
+++ b/gcc/doc/frontends.texi
@@ -0,0 +1,63 @@
+@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+@c 1999, 2000, 2001, 2002, 2004, 2008, 2010 Free Software Foundation, Inc.
+@c This is part of the GCC manual.
+@c For copying conditions, see the file gcc.texi.
+
+@node G++ and GCC
+@chapter Programming Languages Supported by GCC
+
+@cindex GCC
+@cindex GNU Compiler Collection
+@cindex GNU C Compiler
+@cindex Ada
+@cindex Fortran
+@cindex Go
+@cindex Java
+@cindex Objective-C
+@cindex Objective-C++
+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, Objective-C++, Java,
+Fortran, Ada, and Go.
+
+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
+compilers for all supported languages.
+
+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++
+@cindex Ada
+@cindex GNAT
+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
+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++, Objective-C
+and Objective-C++ languages.