Slashdot Mirror


LLVM and Clang 3.4 Are Out

An anonymous reader writes that the LLVM compiler framework and Clang C++ compiler hit 3.4 "With C++14 draft fully implemented in Clang and libc++. Read more in LLVM and Clang release notes." Also of note: "This is expected to be the last release of LLVM which compiles using a C++98 toolchain. We expect to start using some C++11 features in LLVM and other sub-projects starting after this release. That said, we are committed to supporting a reasonable set of modern C++ toolchains as the host compiler on all of the platforms. This will at least include Visual Studio 2012 on Windows, and Clang 3.1 or GCC 4.7.x on Mac and Linux. The final set of compilers (and the C++11 features they support) is not set in stone, but we wanted users of LLVM to have a heads up that the next release will involve a substantial change in the host toolchain requirements."

10 of 118 comments (clear)

  1. How to always skip Slashdot Beta by Anonymous Coward · · Score: 0, Informative
    1. Re:How to always skip Slashdot Beta by Anonymous Coward · · Score: 2, Informative

      thanks alot, the beta is awful

  2. Re:pretty quick on the C++14 support by Anonymous Coward · · Score: 3, Informative

    Only if you want to make your other tool non-free. Otherwise GCC works just fine.

    You don't have to go as far as non-free. Projects that are non-GPLv3+ can't easily integrate with it. Even free software projects would benefit if GCC was at least LGPL since that allows code linking.

  3. Re:pretty quick on the C++14 support by jandrese · · Score: 4, Informative

    What they can't do is micro-compile snippets of code to find errors, do auto-completion, etc...

    I'll let the clang guys explain it better.

    --

    I read the internet for the articles.
  4. Re:pretty quick on the C++14 support by gnasher719 · · Score: 3, Informative

    I'm sure it was Apple that stopped Apple from contributing to GCC. I'm thankful that they contributed to LLVM by developing Clang, but it was entirely their own choice to not contribute to GCC after 4.2.1.

    It was an intentional change in the license that made it impossible for Apple to do some of the things they wanted to do.

  5. Re:pretty quick on the C++14 support by am+2k · · Score: 5, Informative

    Huh? QCreator, Netbeans and Eclipse C/C++ IDEs are fully integrated with GCC, including both debugging and compilation.

    What Xcode can do is integrate llvm with autocompletion. For example, if you do a switch statement on an enum-value, it autocompletes the possible enum constants after you type "case". After the first entry, it automatically removes the constants you already used from the list of possibilities.

    Xcode also does perfect autocompletion (method names, parameter types, etc.) of types derived from C++ templates, which simply isn't possible without compiling the file. This even works as you change the same file those templates are declared in.

    Other things include the analyzer, which tells you about issues that arise on certain input conditions. When you click on an issue, Xcode visually displays the flow through the program to arrive at the undesired end result using arrows.

  6. Code Completion? Static Analysis? by glennrrr · · Score: 4, Informative

    What's the code-completion situation in GCC these days, or the static analyzer situation? (I don't know.) Apple went with Clang at least in part because of not being able to get those features out of GCC without making Xcode GPL3 compliant, but I'd guess that an IDE with a compatible license might have a better shot at getting that information out of GCC. Code completion and static analysis are 2 of the great features of Xcode; I wouldn't want to go back to tools that didn't have either.

    1. Re:Code Completion? Static Analysis? by Anonymous Coward · · Score: 2, Informative

      I don't have any evidence that GCC was deliberately architected to prevent any functionality from being implemented - do you? I don't believe projects like this are ever designed to impose such kinds of restrictions - it's not Microsoft, it's GNU.

      A great deal of thought goes into the GCC license and GCC APIs that are exposed to third parties. Have a look at this and this. It is true that GCC has been designed and licensed to prevent integration with proprietary tools; Stallman et al. will not tolerate having GCC wired into some proprietary, closed source IDE and that fact guides their decisions about what APIs GCC provides and how GCC is licensed.

      The `proprietary' part was left out by the GP and others that make the claim that GCC is designed to prevent third party integration.

  7. Re:pretty quick on the C++14 support by peppepz · · Score: 3, Informative

    Please update your FUD. GCC has supported a plugin architecture since 2010. You can use any GPL-compatible license for your plugin. This includes BSD, and in fact, there's a LLVM plugin for gcc.

  8. Re:pretty quick on the C++14 support by postmortem · · Score: 3, Informative