Using Clang on Windows
arvid.io
arvid.io
Errr, use clang-cl, and "yes it is". That's the whole point of clang-cl :)
LLVM/Clang can target many different platforms besides windows and it is open source so it is sponsored by many large companies including Google Apple etc.
Google use it for Chrome for example (which includes windows) and have engineers working full time to meet their needs.
Intel, ARM, AMD and co have upstreamed many optimisations into LLVM also.
If you have a bug it probably will be resolved faster. Instead of waiting months for the next Visual Studio Release etc
In general, LLVM because of the intermediate bytecode language and well made libraries like libclang enables new kind of tooling.
Microsoft actually use LLVM themselves in many places and have a bunch of open source projects that use it, which is great
The would actually probably be better off retiring MSVC's c++ compiler and focus on clang along with everyone else because other companies are basically paying for the engineering for their platform with clang.
Unlike gcc the license for llvm/clang is more liberal so if they want private internal tooling they can still do that also.
How can that be true? The definition of private internal tooling is that it's not publically distributed, and therefore, GPL isn't a concern.
Unless you distribute the result of your modifications to GCC, both clang and GCC are viable bases from which you make your internal tooling.
And more generally, the internal tool of today can become the hit add-on to your existing product of tomorrow, or a new product line. You want to retain flexibility.
Legal departments aren't just being paranoid when they insist on avoiding GPL-licensed code if at all possible.
License is not the only factor determining usability of a compiler wrt interfacing with external tools. GCC was deliberately designed to prevent such usage.
See https://www.youtube.com/watch?v=NURiiQatBXA at 2:22 for a direct quote from RMS on this topic.
I wonder if this would be applicable with that in combination with gcc-rs.
Disclaimer: I'm also on that rust hype train :)
Disclaimer: I am a LLVM Engineer working on a mingw-w64 standalone clang :)
Ouch...
"opting in" to VS 2017 is recommended when building Chrome for 64-bit Windows to get improved incremental linking support. (We still link Chrome on Windows with link.exe even when compiling with Clang.)
I wasn't aware of this, I know Rui the COFF owner in lld puts in a lot of effort into lld for chrome link times. Maybe he just uses it as a benchmark then :D
I actually caused a regression in migrating def code from lld to llvm with symbol mangling because we were missing a test case for this specific type of mangling and within hours it ended up on a chromium bug tracker and was fixed also within hours by Reid another googler on LLVM.