diff options
author | Jonas Toth <jonas.toth@gmail.com> | 2017-10-27 14:44:08 +0000 |
---|---|---|
committer | Jonas Toth <jonas.toth@gmail.com> | 2017-10-27 14:44:08 +0000 |
commit | 8ba28c720091c9f99d0bd14c5fdf5981b65f28b8 (patch) | |
tree | 6a4a10e140a3c117ad7a0305aca337068f88e0d9 /llvm/lib/Transforms/Scalar/LoopPredication.cpp | |
parent | 822dfe271becad81173ccd398a7098cc81546223 (diff) | |
download | llvm-8ba28c720091c9f99d0bd14c5fdf5981b65f28b8.zip llvm-8ba28c720091c9f99d0bd14c5fdf5981b65f28b8.tar.gz llvm-8ba28c720091c9f99d0bd14c5fdf5981b65f28b8.tar.bz2 |
[clang-tidy] Fix bug 34845, offending standard bitmask types
Summary:
The C++ standard allows implementations to choose the underlying type for
bitmask types (e.g. std::ios_base::openmode). MSVC implemented some of them
as signed integers resulting in warnings for usual code like
`auto dd = std::ios_base::badbit | std::ios_base::failbit;`
These false positives were reported in https://bugs.llvm.org/show_bug.cgi?id=34845
The fix allows bitwise |,&,^ for known standard bitmask types under the condition
that both operands are such bitmask types.
Shifting and bitwise complement are still forbidden.
Reviewers: aaron.ballman, alexfh, hokein
Reviewed By: aaron.ballman
Subscribers: xazax.hun
Differential Revision: https://reviews.llvm.org/D39099
llvm-svn: 316767
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopPredication.cpp')
0 files changed, 0 insertions, 0 deletions