From: Hans Wennborg Date: Thu, 8 Oct 2015 23:13:28 +0000 (+0000) Subject: Expose -f[no]ms-{compatibility,extensions} in clang-cl (PR25114) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1285f36d338858486ecaeffa7a9404419df3c262;p=clang Expose -f[no]ms-{compatibility,extensions} in clang-cl (PR25114) These are enabled by default in clang-cl, because the whole idea is that it should work like cl.exe, but I suppose it can make sense to disable them if someone wants to compile code in a more strict mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249775 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index fdfeecde4f..4434548152 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -694,9 +694,9 @@ def fmacro_backtrace_limit_EQ : Joined<["-"], "fmacro-backtrace-limit=">, Group, Flags<[DriverOption, CoreOption]>; def fmerge_all_constants : Flag<["-"], "fmerge-all-constants">, Group; def fmessage_length_EQ : Joined<["-"], "fmessage-length=">, Group; -def fms_extensions : Flag<["-"], "fms-extensions">, Group, Flags<[CC1Option]>, +def fms_extensions : Flag<["-"], "fms-extensions">, Group, Flags<[CC1Option, CoreOption]>, HelpText<"Accept some non-standard constructs supported by the Microsoft compiler">; -def fms_compatibility : Flag<["-"], "fms-compatibility">, Group, Flags<[CC1Option]>, +def fms_compatibility : Flag<["-"], "fms-compatibility">, Group, Flags<[CC1Option, CoreOption]>, HelpText<"Enable full Microsoft Visual C++ compatibility">; def fms_volatile : Joined<["-"], "fms-volatile">, Group, Flags<[CC1Option]>; def fmsc_version : Joined<["-"], "fmsc-version=">, Group, Flags<[DriverOption, CoreOption]>, @@ -842,8 +842,10 @@ def fmodule_file_deps : Flag <["-"], "fmodule-file-deps">, Group, Flags<[DriverOption]>; def fno_module_file_deps : Flag <["-"], "fno-module-file-deps">, Group, Flags<[DriverOption]>; -def fno_ms_extensions : Flag<["-"], "fno-ms-extensions">, Group; -def fno_ms_compatibility : Flag<["-"], "fno-ms-compatibility">, Group; +def fno_ms_extensions : Flag<["-"], "fno-ms-extensions">, Group, + Flags<[CoreOption]>; +def fno_ms_compatibility : Flag<["-"], "fno-ms-compatibility">, Group, + Flags<[CoreOption]>; def fno_delayed_template_parsing : Flag<["-"], "fno-delayed-template-parsing">, Group; def fno_objc_exceptions: Flag<["-"], "fno-objc-exceptions">, Group; def fno_objc_legacy_dispatch : Flag<["-"], "fno-objc-legacy-dispatch">, Group; diff --git a/test/Driver/cl-options.c b/test/Driver/cl-options.c index 673b9edb09..609e6cb239 100644 --- a/test/Driver/cl-options.c +++ b/test/Driver/cl-options.c @@ -411,6 +411,10 @@ // RUN: -fno-strict-aliasing \ // RUN: -fstrict-aliasing \ // RUN: -fsyntax-only \ +// RUN: -fms-compatibility \ +// RUN: -fno-ms-compatibility \ +// RUN: -fms-extensions \ +// RUN: -fno-ms-extensions \ // RUN: -mllvm -disable-llvm-optzns \ // RUN: -Wunused-variable \ // RUN: -fmacro-backtrace-limit=0 \