3 ms·
"All the major C compilers have committed to implementing these features": including MSVC, which doesn't even implement C99? "Static compile-time assertions al
by drv 14y ago
"All the major C compilers have committed to implementing these features": including MSVC, which doesn't even implement C99?
"Static compile-time assertions allow the use of sizeof() and friends" could already be done with the preprocessor and typedefs; see e.g. C_ASSERT: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679289(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms67... It will still be nice to have a standard way to do it, though.
- sageikosa 14y agoTechnically, Microsoft doesn't tout their C++ compiler as a C compiler, just a C++ compiler that has support for certain older C features.
- hornd 14y agoThere are very few C compilers that implement the whole of C99.
- stephencanon 14y agoIf you don't support the standard you don't have a C compiler; MSVC is a lot of things but a C compiler is not one of them.
- jibsen 14y agoAccording to Herb Sutter on Visual C++ (assuming this is still the official stance): "We do not plan to support ISO C features that are not part of either C90 or ISO C++." http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/ http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and...
- brigade 14y agoMicrosoft doesn't consider themselves a C compiler vendor. They only ship a C compiler because they shipped a C compiler. Really, I think we'd be better off if they actually removed it from future toolkit releases. That way no one would be confused into thinking that Microsoft supported C.