4 ms·
With 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 C
by xvilka 9y ago
With 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.
- pjmlp 9y agoThey 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-and-c99/ 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.
- wahern 9y agoMicrosoft backpedaled not longer afterwards. See, e.g., https://blogs.msdn.microsoft.com/vcblog/2013/06/28/c1114-stl-features-fixes-and-breaking-changes-in-vs-2013/ https://blogs.msdn.microsoft.com/vcblog/2013/06/28/c1114-stl... and https://blogs.msdn.microsoft.com/vcblog/2013/07/19/c99-library-support-in-visual-studio-2013/ 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).aspx 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.
- deleted 9y ago[deleted]
- pjmlp 9y agoC99 and C11 library support is required by ANSI/ISO C++. As for the minor language changes, there was a blog post that I cannot locate now, stating it was to the extent required for porting well known projects to Windows, the remaining features would depend on key customers feedback.
- geezerjay 9y ago> They don't have any hard time supporting C99, from Microsoft point of view C is done, time to move on to C++. If that's the case then Microsoft should get its corporate ass out of C's standardization committee. It makes no sense to waste their time forcing requirements onto a standard that they refuse to comply with.
- pjmlp 9y agoThey don't have anyone on JTC1/SC22/WG14, where did you imagine that?
- jacobush 9y agoI’m sure you won’t like this comment, but doesn’t Microsoft have a vested interest in keeping C as unchanged as possible? If C were to run away in unorthodox directions, that would hurt compatibility with C++ and hence Visual Studio. So from their perspective it may make perfect sense to stay on the committee to keep it as conservative as possible. Why voluntarily give up soft power?
- sanxiyn 9y agoMy impression was that problem with C99 support was that Microsoft was not willing, not that Microsoft was not capable.
- criddell 9y agoIMHO, Microsoft has been doing a pretty good job. I don't think it's as bad as you make it out to be: https://msdn.microsoft.com/en-us/library/hh567368.aspx https://msdn.microsoft.com/en-us/library/hh567368.aspx
- tavert 9y agoThere'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.
- pjmlp 9y agoThey have officially abandoned Clang/C2. https://blogs.msdn.microsoft.com/vcblog/2017/05/10/c17-features-in-vs-2017-3/ https://blogs.msdn.microsoft.com/vcblog/2017/05/10/c17-featu...