gcc: G++ and GCC

1 
1 1 Programming Languages Supported by GCC
1 ****************************************
1 
1 GCC stands for "GNU Compiler Collection".  GCC is an integrated
1 distribution of compilers for several major programming languages.
1 These languages currently include C, C++, Objective-C, Objective-C++,
1 Fortran, Ada, Go, and BRIG (HSAIL).
1 
1  The abbreviation "GCC" has multiple meanings in common use.  The
1 current official meaning is "GNU Compiler Collection", which refers
1 generically to the complete suite of tools.  The name historically stood
1 for "GNU C Compiler", and this usage is still common when the emphasis
1 is on compiling C programs.  Finally, the name is also used when
1 speaking of the "language-independent" component of GCC: code shared
1 among the compilers for all supported languages.
1 
1  The language-independent component of GCC includes the majority of the
1 optimizers, as well as the "back ends" that generate machine code for
1 various processors.
1 
1  The part of a compiler that is specific to a particular language is
1 called the "front end".  In addition to the front ends that are
1 integrated components of GCC, there are several other front ends that
1 are maintained separately.  These support languages such as Pascal,
1 Mercury, and COBOL.  To use these, they must be built together with GCC
1 proper.
1 
1  Most of the compilers for languages other than C have their own names.
1 The C++ compiler is G++, the Ada compiler is GNAT, and so on.  When we
1 talk about compiling one of those languages, we might refer to that
1 compiler by its own name, or as GCC.  Either is correct.
1 
1  Historically, compilers for many languages, including C++ and Fortran,
1 have been implemented as "preprocessors" which emit another high level
1 language such as C.  None of the compilers included in GCC are
1 implemented this way; they all generate machine code directly.  This
1 sort of preprocessor should not be confused with the "C preprocessor",
1 which is an integral feature of the C, C++, Objective-C and
1 Objective-C++ languages.
1