Disable fms-extensions?


Clang implements MS extensions when using -fms-extension. On windows this option is enabled by default.
Is there any way of disabling it to mirror the behavior of the /Za (-permissive-) option of CL?

Hi Zahira,

-fms-extensions can obviously be disabled with -fno-ms-extensions. This won’t necessarily mirrors /Za exactly, though – as according to MS, /Za disables all C++ extensions, not only MS-specific ones. I doubt anyone tried to implement a mode that mirrors /Za exactly.



In addition to that: If I remember correctly, -fms-extensions is only enabled if your triple’s OS is win32 and your triple’s environment is MSVC. It’s not enabled when targeting MinGW for example. The reason it’s enabled with an foo-windows-msvc triple is that it’s required to parse the system’s headers in that environment.