LLVM 8.0 has been released.
This release contains the work on trunk up to Subversion revision r351319, plus work on the release branch. It’s the result of the LLVM community’s work over the past six months, including: speculative load hardening, concurrent compilation in the ORC JIT API, no longer experimental WebAssembly target, a Clang option to initialize automatic variables, improved pre-compiled header support in clang-cl, the /Zc:dllexportInlines- flag, RISC-V support in lld. And as usual, many bug fixes, optimization and diagnostics improvements, etc.
This is the biggest thing for me. Haven’t used it yet, but hopefully building things for WebAssembly won’t be as clunky.
We’re already trying to track down a bug in it; we’ve got a unit tests that sends clang into an infinite loop. Works fine in gcc, worked fine in the previous llvm/clang. D’oh!
Could just be a coincidence, but in recent months I’ve read about a few different folks running into problems with different parts of the LLVM project. Off the top of my head, I remember there was a code generation problem in Clang 7, there was also a problem with lld (can’t remember the details), and now you mention this. I get a feeling the LLVM project is running into some issues.
They also changed (restricted more) lambda in c++, which works fine in gcc and msvc, but the “all mighty standard said otherwise” so they switched off things. The c++ language is so marvelous, you have a tweak compilers’ options/features/warnings to get things working right. And of course, no solution provided…
Kochise,
I’m quite certain they didn’t. In fact, the standard continues to add more capabilities to the lambda, not restrictions.
chrish,
Sounds like a dependency on good old undefined behaviour there