diff options
author | Hans Wennborg <hans@hanshq.net> | 2015-10-08 23:13:28 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2015-10-08 23:13:28 +0000 |
commit | 1f53eb6fbd71b509cda21de93e6b17a4179b8547 (patch) | |
tree | eb7f5177e70c71232e53ecfa6f369325ba2372e3 /clang | |
parent | fe38c8506fd5a13267d3d4729b714c18b0fb7f69 (diff) | |
download | bcm5719-llvm-1f53eb6fbd71b509cda21de93e6b17a4179b8547.tar.gz bcm5719-llvm-1f53eb6fbd71b509cda21de93e6b17a4179b8547.zip |
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.
llvm-svn: 249775
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/Driver/Options.td | 10 | ||||
-rw-r--r-- | clang/test/Driver/cl-options.c | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index fdfeecde4f8..44345481524 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -694,9 +694,9 @@ def fmacro_backtrace_limit_EQ : Joined<["-"], "fmacro-backtrace-limit=">, Group<f_Group>, Flags<[DriverOption, CoreOption]>; def fmerge_all_constants : Flag<["-"], "fmerge-all-constants">, Group<f_Group>; def fmessage_length_EQ : Joined<["-"], "fmessage-length=">, Group<f_Group>; -def fms_extensions : Flag<["-"], "fms-extensions">, Group<f_Group>, Flags<[CC1Option]>, +def fms_extensions : Flag<["-"], "fms-extensions">, Group<f_Group>, Flags<[CC1Option, CoreOption]>, HelpText<"Accept some non-standard constructs supported by the Microsoft compiler">; -def fms_compatibility : Flag<["-"], "fms-compatibility">, Group<f_Group>, Flags<[CC1Option]>, +def fms_compatibility : Flag<["-"], "fms-compatibility">, Group<f_Group>, Flags<[CC1Option, CoreOption]>, HelpText<"Enable full Microsoft Visual C++ compatibility">; def fms_volatile : Joined<["-"], "fms-volatile">, Group<f_Group>, Flags<[CC1Option]>; def fmsc_version : Joined<["-"], "fmsc-version=">, Group<f_Group>, Flags<[DriverOption, CoreOption]>, @@ -842,8 +842,10 @@ def fmodule_file_deps : Flag <["-"], "fmodule-file-deps">, Group<f_Group>, Flags<[DriverOption]>; def fno_module_file_deps : Flag <["-"], "fno-module-file-deps">, Group<f_Group>, Flags<[DriverOption]>; -def fno_ms_extensions : Flag<["-"], "fno-ms-extensions">, Group<f_Group>; -def fno_ms_compatibility : Flag<["-"], "fno-ms-compatibility">, Group<f_Group>; +def fno_ms_extensions : Flag<["-"], "fno-ms-extensions">, Group<f_Group>, + Flags<[CoreOption]>; +def fno_ms_compatibility : Flag<["-"], "fno-ms-compatibility">, Group<f_Group>, + Flags<[CoreOption]>; def fno_delayed_template_parsing : Flag<["-"], "fno-delayed-template-parsing">, Group<f_Group>; def fno_objc_exceptions: Flag<["-"], "fno-objc-exceptions">, Group<f_Group>; def fno_objc_legacy_dispatch : Flag<["-"], "fno-objc-legacy-dispatch">, Group<f_Group>; diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c index 673b9edb090..609e6cb2392 100644 --- a/clang/test/Driver/cl-options.c +++ b/clang/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 \ |