For Microsoft compatibility, set fno_operator_names
authorErich Keane <erich.keane@intel.com>
Wed, 24 May 2017 19:31:19 +0000 (19:31 +0000)
committerErich Keane <erich.keane@intel.com>
Wed, 24 May 2017 19:31:19 +0000 (19:31 +0000)
commitb28d2ee4c9f291941467723f7c5c48f47b0be951
tree2430198440fd070be8f38bcc7c597c68c9c8e231
parent3143081d4afe3c116a7f968e1b26c63b4d9c1938
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@303798 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Frontend/CompilerInvocation.cpp
test/Parser/MicrosoftExtensions.cpp
test/Preprocessor/cxx_oper_keyword.cpp