GCC 4.8.0 Release Marks Completion of C++ Migration
hypnosec writes "GCC 4.8.0 has been released (download), and with it, the developers of the GNU Compiler Collection have switched to C++ as the implementation language, a project the developers have been working for years. Licensed under the GPLv3 or later, version 4.8.0 of the GCC not only brings with it performance improvements but also adds memory error detector AddressSanitizer, and race condition detection tool the ThreadSanitizer. Developers wanting to build their own version of GCC should have at their disposal a C++ compiler that understands C++ 2003."
How was the first compiler compiled?
With an assembler. (of course, real men didn't need an assembler, they toggled in the hexadecimal opcodes directly in hex, using a hickory switch and a quart of whiskey)
I don't care if it's 90,000 hectares. That lake was not my doing.
It wasn't. It was written in assembly language and was converted into machine code by an assembler.
You need to compile this compiler with a compiler which begs the question....
Sigh. It raises the question. To "beg the question" means something completely different. Here is a simple rule of thumb of when that phrase should be used: never.
How was the first compiler compiled?
The first compilers (Fortran and Lisp) were written in assembler. Later compilers were written in Lisp or Fortran.
New languages can be bootstrapped by first implementing a sufficient subset, and then expanding it. Ken Thompson explains this process (and how to subvert the process) in his Turing Award lecture on Trusting Trust.
Interestingly, the exception only is valid if you use GCC or another GPL licensed compiler to link it, to prevent the runtime being shanghaied in its GPL compliant entirety by another compiler.
Finally, you cannot accidentally license your software under the GPL through linking. Only the copyright holder may assign a license and copyright comes through authorship. If you link your software with GPL software but do not license your software under compatible terms you merely violate the GPL and are liable for whatever penalties come from distributing unlicensed software. This probably will be relatively low if it is accidental and one agrees to remove it, since actual damages are most likely to be zero, only statutory damages and punitive damages (impossible if not deliberate) apply.
When Argumentum ad Hominem falls short, try Argumentum ad Matrem