Follow Slashdot stories on Twitter


Forgot your password?
GNU is Not Unix Programming News

GCC 4.8.0 Release Marks Completion of C++ Migration 269

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."
This discussion has been archived. No new comments can be posted.

GCC 4.8.0 Release Marks Completion of C++ Migration

Comments Filter:
  • Re:chicken or egg? (Score:5, Informative)

    by Jeremi ( 14640 ) on Friday March 22, 2013 @06:19PM (#43252361) Homepage

    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)

  • Re:chicken or egg? (Score:5, Informative)

    by WWJohnBrowningDo ( 2792397 ) on Friday March 22, 2013 @06:20PM (#43252373)

    It wasn't. It was written in assembly language and was converted into machine code by an assembler.

  • Re:chicken or egg? (Score:5, Informative)

    by ShanghaiBill ( 739463 ) * on Friday March 22, 2013 @06:27PM (#43252449)

    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. []

  • Re:chicken or egg? (Score:3, Informative)

    by Bing Tsher E ( 943915 ) on Friday March 22, 2013 @07:13PM (#43252891) Journal

    Puhlease. Octal. On the front panel of a PDP-8e.

  • by Anonymous Coward on Friday March 22, 2013 @08:19PM (#43253465)

    The license [] makes it perfectly clear that you can use the latest GCC on proprietary code. Specifically:

    The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception.

  • Re:GCC vs. CLang (Score:3, Informative)

    by Anonymous Coward on Friday March 22, 2013 @08:46PM (#43253631)

    They're pretty equal. Some things compiled with GCC run better, others with CLang run better.

    At this point (and I mean exactly this point, no comment for future potential,) it's mostly a matter of license, which is pretty much irrelivant for compilers since even the GPL's copyleft doesn't force you to go GPL to use their compiler.

    To me it seems like the major motivation behind LLVM / Clang were to make a great open source compiler that wasn't GPL. They've succeeded, whether or not you agree with their intention is mostly politics.

    Having competition is good in any case. I'm sure that while there are plenty of fanboys and zealots on each side, I wouldn't be surprised if the major players behind each compiler collection were pretty cordial with eachother.

  • except that (Score:3, Informative)

    by decora ( 1710862 ) on Friday March 22, 2013 @09:29PM (#43253903) Journal

    clang is a lot faster and uses a huge amount less memory than GCC when running. for some projects this is rather important.

    gcc has a lot of cross-build chains out there, and a lot of experienced users. but i have never seen a clang->arm cross chain.

    clang++ is still using GNU libraries for C++ stuff.

    clang is still a pain in the ass to compile, with unclear instructions, and a massive, huge compile time. gcc on the other hand is built by automated scripts quite frequently as part of, for example, cross-toolchain builds.

    clang has vastly better error messages than gcc. this is increasingly important with the popularity of huge complex template libraries like boost, eigen, cgal, etc etc etc.

  • by donscarletti ( 569232 ) on Friday March 22, 2013 @10:19PM (#43254137)
    The license for the runtime is here [], and yes, binaries compiled with gcc can be distributed under any license the author chooses, even after linking with the gcc runtime.

    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.

  • Re:GPLv3 .... (Score:4, Informative)

    by kthreadd ( 1558445 ) on Saturday March 23, 2013 @03:59AM (#43255347)

    It's worth pointing out that GCC has been under GPLv3 since version 4.2.2 back in 2007. If it's a problem for anyone then it has been a problem for over five years now. []

Machines that have broken down will work perfectly when the repairman arrives.