
LLVM 7.0.0 released - samber
http://releases.llvm.org/7.0.0/docs/ReleaseNotes.html
======
zmodem
Release announcement: [http://lists.llvm.org/pipermail/llvm-
announce/2018-September...](http://lists.llvm.org/pipermail/llvm-
announce/2018-September/000080.html)

Sub-project release notes:

[https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNote...](https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html)

[https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs...](https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html)

[https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes....](https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html)

------
speps
Under "External Open Source Projects Using LLVM 7":

> Zig is an open-source programming language designed for robustness,
> optimality, and clarity. Zig is an alternative to C, providing high level
> features such as generics, compile time function execution, partial
> evaluation, and LLVM-based coroutines, while exposing low level LLVM IR
> features such as aliases and intrinsics. Zig uses Clang to provide automatic
> import of .h symbols - even inline functions and macros. Zig uses LLD
> combined with lazily building compiler-rt to provide out-of-the-box cross-
> compiling for all supported targets.

Nice shout out :)

~~~
azhenley
Zig needs a Wikipedia page!

It seems like a competitor for Go or Rust? I've been looking into these
languages a lot lately, but Zig looks interesting... I wish the website was
better at showing off examples and the big features for the language though.

~~~
ksec
I never view Go as a competitor to C, and Rust is more of an competitor to
C++.

Zig reads to me as something actually trying to displace C. Or C with no
corner cases and some modern features.

~~~
IshKebab
Go is definitely a competitor to C, but only in places where you can tolerate
a garbage collector. Zig seems to be a competitor to C in places where you
can't.

~~~
knocte
I disagree, Go ignores errors by default. No sane C dev would accept that as
an "upgrade".

~~~
skybrian
What do you mean? Error checking for C is very inconsistent (sentinel values
and errno), so surely that's worse?

~~~
simias
I think they mean that C coders have wrestled so much with the language's
terrible error handling mechanics (or lack thereof) that it's probably one of
the first thing they'd want fix when "upgrading" languages. I would tend to
agree.

~~~
knocte
Upgrading error handling is great, but Go has the worst approach on doing it.

~~~
skybrian
Worse than checked exceptions (Java)? How about unchecked exceptions?

------
ChrisSD
Is there anything of particular interest to Rust? I'm know Rust is built on
LLVM (for both good and ill but mostly good).

~~~
nikic
Rust updates LLVM more commonly than LLVM does stable releases, so it has been
using a version somewhere between LLVM 6 and LLVM 7 for a while already.

I think one of the main areas that improved in LLVM 7 relative to LLVM 6 that
Rust cares about is better support for WASM in LLD.

~~~
steveklabnik
We also had to turn off noalias for &mut T for a while, due to bugs, and that
was fixed fairly recently, and we turned it back on. I _think_ that was post
LLVM 6, but I can't quite remember.

~~~
lambda
Looks like it was as of LLVM 6: [https://github.com/rust-
lang/rust/pull/50744](https://github.com/rust-lang/rust/pull/50744)

------
xvilka
Too bad RISC-V didn't manage to be included yet. Even GCC already supports it.
A rare case when LLVM behind GCC on architecture support.

~~~
flurrything
Rust has been able to target RISC-V for half a year, so LLVM must have been
able to target it for even longer...

~~~
benchaney
IIRC it has been considered experimental since version 6. Many people were
hoping it would be upgraded to fully supported in version 7.

------
aogl
Is there a reason that the libraries have been renamed from 7.0 to 7?

~~~
JDevlieghere
LLVM adopted a new version scheme which made the minor version redundant. IIRC
someone suggested to remove it and nobody objected.

[http://blog.llvm.org/2016/12/llvms-new-versioning-
scheme.htm...](http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html)

~~~
sambe
Does this page explain the parent's question? It specifically mentions
_keeping_ the minor version more than once.

------
procgreen
Does anyone know where the re-licensing effort stands?

~~~
favorited
The last update I saw was from July:

[http://lists.llvm.org/pipermail/llvm-
foundation/2018-July/00...](http://lists.llvm.org/pipermail/llvm-
foundation/2018-July/000162.html)

------
p1esk
What are the main new features and why are they important? E.g. what's
"function multiversioning"?

~~~
cheez
[https://gcc.gnu.org/onlinedocs/gcc/Function-
Multiversioning....](https://gcc.gnu.org/onlinedocs/gcc/Function-
Multiversioning.html)

