diff options
author | Reid Kleckner <rnk@google.com> | 2021-08-25 11:34:00 -0700 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2021-08-25 14:41:26 -0700 |
commit | db3d029fbe09925ea42a3279b1abb244fa547cff (patch) | |
tree | 5e2c7ed0664505fe2d419883606582b1c4480553 /llvm/lib/CodeGen/MachineScheduler.cpp | |
parent | 23a1e9f70b88984c5361071241d94b1d533c7d48 (diff) | |
download | llvm-db3d029fbe09925ea42a3279b1abb244fa547cff.zip llvm-db3d029fbe09925ea42a3279b1abb244fa547cff.tar.gz llvm-db3d029fbe09925ea42a3279b1abb244fa547cff.tar.bz2 |
Effectively revert 33c3d8a916c / D33782
This change would treat the token `or` in system headers as an
identifier, and elsewhere as an operator. As reported in
llvm.org/pr42427, many users classify their third party library headers
as "system" headers to suppress warnings. There's no clean way to
separate Windows SDK headers from user headers.
Clang is still able to parse old Windows SDK headers if C++ operator
names are disabled. Traditionally this was controlled by
`-fno-operator-names`, but is now also enabled with `/permissive` since
D103773. This change will prevent `clang-cl` from parsing <query.h> from
the Windows SDK out of the box, but there are multiple ways to work
around that:
- Pass `/clang:-fno-operator-names`
- Pass `/permissive`
- Pass `-DQUERY_H_RESTRICTION_PERMISSIVE`
In all of these modes, the operator names will consistently be available
or not available, instead of depending on whether the code is in a
system header.
I added a release note for this, since it may break straightforward
users of the Windows SDK.
Fixes PR42427
Differential Revision: https://reviews.llvm.org/D108720
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
0 files changed, 0 insertions, 0 deletions