Who are the "we" they refer to in this blog? Are they Google's devs who build chrome, or are they clang's devs? If they are clang's dev, why are they building chrome? I am completely confused on this one.
Clang Is Now Used to Build Chrome for Windows
71–80 of 105 posts
Re: Clang Is Now Used to Build Chrome for Windows
#72https://www.youtube.com/watch?v=029YXzHtRy0
The Clang discussion begins at 18:53
Re: Clang Is Now Used to Build Chrome for Windows
#73Re: Clang Is Now Used to Build Chrome for Windows
#74> if your project is Windows-only, you can get a second compiler’s opinion on your code, and Clang’s warnings might find bugs GCC (mingw.org and mingw-w64 triples) has existed and been able to do this, including and especially cross-compiling, for a long time. No need to manually download a Windows SDK either. edited to add: to be fair, it's not ABI compatible with MSVC. But it deserves a mention and it's an easier o…
> edited to add: to be fair, it's not ABI compatible with MSVC. But it deserves a mention and it's an easier option than MSVC-style build systems for many open source projects. Pretty sure this is significant in Chrome's case.
Re: Clang Is Now Used to Build Chrome for Windows
#75Earlier quoted context omitted.
You need the MSVC build tools and the Windows SDK. You don't need the entire Visual Studio.
Can you get the VS 2017 build tools separately any more?
Re: Clang Is Now Used to Build Chrome for Windows
#76Interesting. It seems Google is moving away from anything gpl/gnu lately (fuchsia, etc...)
I doubt this is very relevant in the case of Chrome compilers. It's more about the huge investment/expertise in Clang- or LLVM-based dynamic analysis and development tooling. It's just the better platform for writing these things. Heck, this is what is was built for in the first place. GCC is a solid, but also a very traditional compiler.
LLVM was supposed to be a virtual machine environment (hence the name); I remember when it came out and I was in college doing program language research. It entirely dropped that history and got twisted into a compiler platform much later. And clang only came into existence because the developers of g c (in particular, Richard Stallman) did not want to work with Apple on maintaining LLVM as a gdc backend (which was a stupid stupid decision: Apple said they would be willing to give the copyright of LLVM to the FSF, which would have kept all compiler tech under GPL), which was all well after Apple had been switching to LLVM for their compiler stack (in order to obtain weird optimizations).
Re: Clang Is Now Used to Build Chrome for Windows
#77With Microsoft producing MSVC/C2 compiler with Clang frontend, I am surprised they did not abandon the MSVC at all - they have a hard times even at supporting C99, not to mention modern C++ technologies. And all those tools and plugins built around Clang/LLVM. MSVC is a legacy of XX century and should be abandoned for good.
> We do not plan to support ISO C features that are not part of either C90 or ISO C++.
https://herbsutter.com/2012/05/03/reader-qa-what-about-vc-an...
All the updates regarding C99 and C11 in Visual C++ are related to ANSI/ISO C++ requirements regarding C compatibility, as Herb states.
Regarding legacy, Visual C++ is one of the top C++ compilers doing incremental compilation and linking, which still beats Rust compilation times on Windows.
Re: Clang Is Now Used to Build Chrome for Windows
#78With Microsoft producing MSVC/C2 compiler with Clang frontend, I am surprised they did not abandon the MSVC at all - they have a hard times even at supporting C99, not to mention modern C++ technologies. And all those tools and plugins built around Clang/LLVM. MSVC is a legacy of XX century and should be abandoned for good.
There's a link in the article here, but sadly it sounds like they've abandoned Clang/C2. I guess they got normal MSVC up to speed on the C++1y/z they wanted to support, and Clang/LLVM was always better than both at complex numbers, inline assembly, and other C features.
https://blogs.msdn.microsoft.com/vcblog/2017/05/10/c17-featu...
Re: Clang Is Now Used to Build Chrome for Windows
#79With Microsoft producing MSVC/C2 compiler with Clang frontend, I am surprised they did not abandon the MSVC at all - they have a hard times even at supporting C99, not to mention modern C++ technologies. And all those tools and plugins built around Clang/LLVM. MSVC is a legacy of XX century and should be abandoned for good.
They don't have any hard time supporting C99, from Microsoft point of view C is done, time to move on to C++. > We do not plan to support ISO C features that are not part of either C90 or ISO C++. https://herbsutter.com/2012/05/03/reader-qa-what-about-vc-an... All the updates regarding C99 and C11 in Visual C++ are related to ANSI/ISO C++ requirements regarding C compatibility, as Herb states. Regarding legacy, Visua…
https://blogs.msdn.microsoft.com/vcblog/2013/06/28/c1114-stl...
and
https://blogs.msdn.microsoft.com/vcblog/2013/07/19/c99-libra...
They even added C99 compound literals and designated initializers:
https://msdn.microsoft.com/en-us/library/hh409293(v=vs.120)....
Compound literals could never be added to C++ because the syntax and semantics conflict with existing C++ constructs.
Re: Clang Is Now Used to Build Chrome for Windows
#80Earlier quoted context omitted.
There's a link in the article here, but sadly it sounds like they've abandoned Clang/C2. I guess they got normal MSVC up to speed on the C++1y/z they wanted to support, and Clang/LLVM was always better than both at complex numbers, inline assembly, and other C features.
They have officially abandoned Clang/C2. https://blogs.msdn.microsoft.com/vcblog/2017/05/10/c17-featu...