The GCC addons (gcc-fortran, gcc-cobal, and gcc-go) just convert the existing language into C that is just ingested into the standard GCC. It was only around 2008 that gcc-c++ stopped doing the internal translation/name mangling dance and gained native first party support [1].
Much like how the older versions of GCC used to just produce ASM files to be ingested into GAS to create the binary objects.
Much like how the older versions of GCC used to just produce ASM files to be ingested into GAS to create the binary objects.
[1] https://lwn.net/Articles/542457/