summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorErich Keane <erich.keane@intel.com>2017-05-24 19:31:19 +0000
committerErich Keane <erich.keane@intel.com>2017-05-24 19:31:19 +0000
commit25411b768457435c0841735f98ba8418dd0006d9 (patch)
treebca78561d72dca9af5e2c0aa728af9b245890ff1 /clang/lib/Frontend/CompilerInvocation.cpp
parentf04c04837c88068345f5141ebe6720ce3ae3d559 (diff)
downloadbcm5719-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.cpp2
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))
OpenPOWER on IntegriCloud