
LLVM 10.0 - zmodem
http://lists.llvm.org/pipermail/llvm-announce/2020-March/000087.html
======
AndyKelley
If you want to play around with some of the improved code generation features
of Clang/LLVM 10 for various architectures (MIPS, ARM, RISC-V, etc), but don't
want to take the time to set up a full cross compilation environment, you
could use the master branch tarballs[1] of Zig, which already are based on
LLVM/Clang 10.

I _just_ published a blog post[2] about this. You can use `zig cc` in the
place of `clang`, and it'll unlock cross compilation.

[1]: [https://ziglang.org/download/](https://ziglang.org/download/)

[2]: [https://andrewkelley.me/post/zig-cc-powerful-drop-in-
replace...](https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-
gcc-clang.html)

~~~
blindseer
Thank you Andrew for all the work you've done on this! I'm very excited about
being able to download zig and get the latest LLVM version AND be able to
cross compile in a single go.

`zig cc` in some ways is now a better C compiler than clang/gcc. To me that's
even crazier than everything else that is happening in the world right now.

------
marmaduke
I feel like LLVM 3.4 and GCC 4.8 were around for ages and now they increment
major versions every time I reinstall Linux.

Is it just me? Why do compiler version numbers increase so faster now?

(I read these release notes, it seems quite nice but is it a major version?)

~~~
ktta
They changed the way versioning is done around 3.9's release.

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

I feel they are changing the version too quickly (I usually keep an eye out
for the major version bumps, and with LLVM I just ignore them now)

~~~
eslaught
Here's the HN discussion from when this was posted:
[https://news.ycombinator.com/item?id=13179903](https://news.ycombinator.com/item?id=13179903)

Personally, though I agree the version number is going up too quickly, I
appreciate that it at least aligns with their policy on breaking changes
(which is to provide no hard guarantees on backwards compatibility).

------
floatboth
> Clang now defaults to .init_array on Linux. It used to use .ctors if the
> found GCC installation is older than 4.7.0

Oh man, I've seen that check somewhere..

namely, I've had to port the init-array-or-ctors decision code from clang to
LDC, because LDC was just using LLVM defaults, and LLVM defaulted to ctors on
FreeBSD/AArch64, which doesn't support ctors, but that was only noticeable
with the LLD linker, because bfd and gold were quietly (!) converting ctors to
init_array (!!) as a performance optimization (!!!)

ref: [https://github.com/ldc-
developers/druntime/pull/146#issuecom...](https://github.com/ldc-
developers/druntime/pull/146#issuecomment-433229535)

------
chaz6
Is it feasible to deliver a compiler as a standalone executable (e.g. *
.appimage on linux or * .exe on windows)?

Edit: couldn't find how to use a raw * next to text without it changing the
formatting in HN.

------
genpfault
Can you build clang with clang yet on Windows without Visual Studio installed?

~~~
tiagoma
you always could, no? Just tell cmake to use clang to compile

~~~
BubRoss
libc++ was a big problem for a long time, I'm not sure if that ever got ironed
out properly or became easier.

