3 ms·
>MSVC supports C++17 features natively MSVC is the worst standard non-conforming C++ compiler in the current major compilers. I consider it MS C++-ish dialect
by ezoe 9y ago
>MSVC supports C++17 features natively
MSVC is the worst standard non-conforming C++ compiler in the current major compilers. I consider it MS C++-ish dialect compiler.
- rurban 9y agoNot at all. Up to C++14 MSVC is actually better than gcc or clang, it's the only compiler which fully implements C11 with its safety Annex K. Only from C++17 on gcc and clang do have an advantage. http://en.cppreference.com/w/cpp/compiler_support http://en.cppreference.com/w/cpp/compiler_support The label worst std support would go to: EDG eccp, Intel C++, IBM XLC++, Sun/Oracle C++, Embarcadero C++ Builder, Cray, HP aCC [Collapse], Digital Mars C++ MSVC has very bad C support, this is their problem, not C++.
- ezoe 9y agoWell, MSVC supports those eye candy features yes. But it doesn't implement the C++ in the standard conforming way. Name lookup, overload resolution, and templates and practically everything is not implemented according to the spec. Really, it's garbage and it shouldn't be considered as C++ compiler.
- banachtarski 9y agoIs your experience really out of date? I would have agreed with you 10 years ago. Not so much any more. MSVC beats Apple's clangs by a long shot.
- fulafel 9y agoDo you have a reference for MSVC fully implementing C11? See eg here for MSFT explaining about the lack of even C99 conformance, as recently as November 2017: https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/7295844-reconsider-position-on-c99-11 https://visualstudio.uservoice.com/forums/121579-visual-stud... Meanwhile clang and gcc have had full C99 for a long time and have complete or near-complete support of C11, including optional parts.
- rurban 9y agoYes, that's true. Their overall C support is horrible, esp. up to C99. But they were still the first ones who implemented C11, which gcc and clang refuse to do.
- deleted 9y ago[deleted]
- fulafel 9y agoI'm sorry but this MSVC C11 claim is complete nonsense. C11 is an extension of C99, so you can't have C11 support without C99. But this nonwithstanding, MSVC doesn't appear have wide support for post-C99 C11 features either. For example, _Generic and t. Are there any parts of C11 that MSVC supports aside from the Annex K functions, which is optional in C11? Annex K happens to be an extension proposed by Microsoft, so it's small wonder they implement it and it's quite disingenious to talk up microsoft for C11 support in this case. Other vendors didn't think it was very good, so didn't implement that optional feature. And contrary to your claim, gcc and clang seem to have quite good C11 support.