diff options
author | Erich Keane <erich.keane@intel.com> | 2017-05-24 19:31:19 +0000 |
---|---|---|
committer | Erich Keane <erich.keane@intel.com> | 2017-05-24 19:31:19 +0000 |
commit | 25411b768457435c0841735f98ba8418dd0006d9 (patch) | |
tree | bca78561d72dca9af5e2c0aa728af9b245890ff1 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | f04c04837c88068345f5141ebe6720ce3ae3d559 (diff) | |
download | bcm5719-llvm-25411b768457435c0841735f98ba8418dd0006d9.tar.gz bcm5719-llvm-25411b768457435c0841735f98ba8418dd0006d9.zip |
For Microsoft compatibility, set fno_operator_names
There's a Microsoft header in the Windows SDK which won't
compile with clang because it uses an operator name (and)
as a field name. This patch allows that file to compile by
setting the option which disables operator names.
The header which doesn't compile <Query.h> C:/Program Files (x86)/
Windows Kits/10/include/10.0.14393.0/um\Query.h:259:40:
error: expected member name or ';' after declaration specifiers
/* [case()] */ NODERESTRICTION or;
~~~~~~~~~~~~~~~ ^
1 error generated.
Contributed for Melanie Blower
Differential Revision:https://reviews.llvm.org/D33505
llvm-svn: 303798
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 859e8ba18bd..071687981a4 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -1882,7 +1882,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, Opts.GNUKeywords = Args.hasFlag(OPT_fgnu_keywords, OPT_fno_gnu_keywords, Opts.GNUKeywords); - if (Args.hasArg(OPT_fno_operator_names)) + if (Args.hasArg(OPT_fno_operator_names) || Args.hasArg(OPT_fms_compatibility)) Opts.CXXOperatorNames = 0; if (Args.hasArg(OPT_fcuda_is_device)) |