Does G++ compile without GCC or G++ is just translator // Including old g++ version.
when i was trying to install g++ from source i saw file
gcc.c
With a recent GCC, gcc
(actually cc1
which is run by gcc
) and g++
(actually cc1plus
) -and so on for other GCC compilers, e.g. gfortran
or even gdc
....- share a lot of (source) code together: the middle-end (where most optimizations happen) and the back-end. The difference is only the front-end layer of the compiler (the only layer being source language specific) which is less than 30% of the compiler.
You could customize the GCC compiler with plugins or with MELT. Your extensions would work on GCC internal representations (Gimple-s) and would work when compiling C, C++, Ada, Fortran, etc... Remember that GCC means Gnu Compiler Collection today
Actually the gcc
program is able to compile C++ source code (and likewise g++
can compile C or Fortran code). However, they are not linking the same libraries.
Pass the -v
flag to the gcc
or g++
command to understand what they are running.
Here are two (mine) [CC-BY-SA] pictures -explaing GCC & MELT- illustrating this.
with your plugin, or the MELT meta-plugin
with a simplification: cc1
or cc1plus
are generating assembler files, which is then translated by as
started by gcc
or g++
and
cc1
or cc1plus
,which generates some assembler code