can i dissalow fallback to CL and force only C++03 standard?

im using the Clang VS2010-Plugin for the first time and its absolutely amazing

im using Clang for pre-port a Windows app to Linux by removing unwanted/hidden
use of microsoft extensions and check for C++03 only standards in Code

is it possible to archive that with the Clang-Plugin?


I don’t think that’s very well supported currently. Clang on Windows activates a bunch of switches by default, and we don’t currently support turning them off:

  • -std=c++11: This could easily be overridden if we make -std=c++03 work from the clang-cl command line. You can get this today by adding “-Xclang -std=c++03” to bypass clang-cl.

  • -fms-extensions: This controls __declspec and other types of conforming extensions. These are typically necessary to parse the Visual C++ STL. You probably can’t turn this off.

  • -fms-compatibility: This controls weird C++ corner cases that are typically not encountered by the STL. If your code is portable and only uses the STL, then you might be able to turn this off.

  • -fdelayed-template-parsing: Similar to -fms-compatibility, this is needed for ATL and other system headers that you might not use.

Anyway, different combinations here are not well tested yet.

thx i'll give it a try