I was wondering if, and to what degree, does Microsoft’s Visual C++ compiler conform to the current C (C90/C99) and C++ (ISO/IEC 14882:2003) standards. Unfortunately I’m only able to find partial information on the subject, I may be looking at all the wrong places.
Any pointers to related resources are much appreciated. Thanks in advance.
Edit:
Since is looks like this is a most touchy subject, I’d be content with a yes/no answer on whether MSVC wholly conforms to C90…I’ve come to the understanding that this is not the case for C99 (naturally), and I still have no clue about C++..
Edit2:
Thanks to everyone for their answers. I’ve accepted Mr. Rushakov’s answer but upvoted all relevant answers, which were all helpful.
Perhaps MSDN’s Nonstandard Behavior page for Visual C++ will enlighten you? Make sure you look at the version you’re most interested in (the box on the right-hand side).
Since MSDN’s links change all the time (and who knows why), here’s the main content from the page on VS2008, so when the link breaks and someone comes across this answer, they can Google and find the correct page: