From b1fcca38844138d1950e1b34eb2be65b3bfc7352 Mon Sep 17 00:00:00 2001 From: =?utf8?q?D=C3=A1vid=20Bolvansk=C3=BD?= Date: Sun, 3 Oct 2021 13:04:18 +0200 Subject: [PATCH] Fixed warnings in LLVM produced by -Wbitwise-instead-of-logical --- clang/lib/AST/Type.cpp | 4 ++-- clang/lib/CodeGen/CGExpr.cpp | 6 +++--- clang/lib/Sema/SemaChecking.cpp | 2 +- clang/lib/Sema/SemaExpr.cpp | 2 +- llvm/unittests/Support/TargetParserTest.cpp | 6 +++--- llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 6 ++++-- 6 files changed, 14 insertions(+), 12 deletions(-) diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp index 112218d..de57b40 100644 --- a/clang/lib/AST/Type.cpp +++ b/clang/lib/AST/Type.cpp @@ -3759,8 +3759,8 @@ public: friend CachedProperties merge(CachedProperties L, CachedProperties R) { Linkage MergedLinkage = minLinkage(L.L, R.L); - return CachedProperties(MergedLinkage, - L.hasLocalOrUnnamedType() | R.hasLocalOrUnnamedType()); + return CachedProperties(MergedLinkage, L.hasLocalOrUnnamedType() || + R.hasLocalOrUnnamedType()); } }; diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 5c92e1e..a62a4d6 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -668,9 +668,9 @@ bool CodeGenFunction::isVptrCheckRequired(TypeCheckKind TCK, QualType Ty) { } bool CodeGenFunction::sanitizePerformTypeCheck() const { - return SanOpts.has(SanitizerKind::Null) | - SanOpts.has(SanitizerKind::Alignment) | - SanOpts.has(SanitizerKind::ObjectSize) | + return SanOpts.has(SanitizerKind::Null) || + SanOpts.has(SanitizerKind::Alignment) || + SanOpts.has(SanitizerKind::ObjectSize) || SanOpts.has(SanitizerKind::Vptr); } diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 8b53e35..615ba1a 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -2988,7 +2988,7 @@ bool Sema::CheckHexagonBuiltinArgument(unsigned BuiltinID, CallExpr *TheCall) { unsigned M = 1 << A.Align; Min *= M; Max *= M; - Error |= SemaBuiltinConstantArgRange(TheCall, A.OpNum, Min, Max) | + Error |= SemaBuiltinConstantArgRange(TheCall, A.OpNum, Min, Max) || SemaBuiltinConstantArgMultiple(TheCall, A.OpNum, M); } } diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 8d483f3..aedfc07 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -8377,7 +8377,7 @@ QualType Sema::CheckConditionalOperands(ExprResult &Cond, ExprResult &LHS, // OpenCL v2.0 s6.12.5 - Blocks cannot be used as expressions of the ternary // selection operator (?:). if (getLangOpts().OpenCL && - (checkBlockType(*this, LHS.get()) | checkBlockType(*this, RHS.get()))) { + ((int)checkBlockType(*this, LHS.get()) | (int)checkBlockType(*this, RHS.get()))) { return QualType(); } diff --git a/llvm/unittests/Support/TargetParserTest.cpp b/llvm/unittests/Support/TargetParserTest.cpp index a465eb0..de63efd 100644 --- a/llvm/unittests/Support/TargetParserTest.cpp +++ b/llvm/unittests/Support/TargetParserTest.cpp @@ -1181,9 +1181,9 @@ TEST(TargetParserTest, testAArch64CPUArchList) { bool testAArch64Arch(StringRef Arch, StringRef DefaultCPU, StringRef SubArch, unsigned ArchAttr) { AArch64::ArchKind AK = AArch64::parseArch(Arch); - return (AK != AArch64::ArchKind::INVALID) & - AArch64::getDefaultCPU(Arch).equals(DefaultCPU) & - AArch64::getSubArch(AK).equals(SubArch) & + return (AK != AArch64::ArchKind::INVALID) && + AArch64::getDefaultCPU(Arch).equals(DefaultCPU) && + AArch64::getSubArch(AK).equals(SubArch) && (AArch64::getArchAttr(AK) == ArchAttr); } diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp index c1a3a34..ebb4a31 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp @@ -1612,8 +1612,10 @@ bool SDTypeConstraint::ApplyTypeConstraint(TreePatternNode *N, unsigned OResNo = 0; TreePatternNode *OtherNode = getOperandNum(x.SDTCisSameAs_Info.OtherOperandNum, N, NodeInfo, OResNo); - return NodeToApply->UpdateNodeType(ResNo, OtherNode->getExtType(OResNo),TP)| - OtherNode->UpdateNodeType(OResNo,NodeToApply->getExtType(ResNo),TP); + return (int)NodeToApply->UpdateNodeType(ResNo, + OtherNode->getExtType(OResNo), TP) | + (int)OtherNode->UpdateNodeType(OResNo, + NodeToApply->getExtType(ResNo), TP); } case SDTCisVTSmallerThanOp: { // The NodeToApply must be a leaf node that is a VT. OtherOperandNum must -- 2.7.4