Lines Matching full:right
34 enum class OperandSide { Left, Right };
44 {"", "right operand of bit shift is less than "},
45 {"left operand of bit shift is non-negative", " and right operand is less than "},
46 {"right operand of bit shift is non-negative", " but less than "},
47 {"both operands of bit shift are non-negative", " and right operand is less than "}
95 StringRef shiftDir() const { return isLeftShift() ? "left" : "right"; }
101 // Report a bug if the right operand is >= the bit width of the type of the
108 // Report a bug if the right operand is negative:
109 if (BugReportPtr BR = checkOperandNegative(OperandSide::Right)) {
170 if (assumeRequirement(OperandSide::Right, BO_LT, LHSBitWidth))
173 const SVal Right = Ctx.getSVal(operandExpr(OperandSide::Right));
176 if (auto ConcreteRight = Right.getAs<nonloc::ConcreteInt>())
180 if (const llvm::APSInt *MinRight = SVB.getMinValue(FoldedState, Right);
188 isLeftShift() ? "Left" : "Right", RightOpStr.empty() ? "" : " by",
191 "The result of {0} shift is undefined because the right "
198 // 1. "... The behaviour is undefined if the right operand is negative..."
217 Side == OperandSide::Left ? "Left" : "Right",
223 Side == OperandSide::Left ? "left" : "right")
230 // A right shift cannot be an overflowing left shift...
264 if (assumeRequirement(OperandSide::Right, BO_LT, MaximalAllowedShift + 1))
272 const SVal Right = Ctx.getSVal(Op->getRHS());
275 if (const auto ConcreteRight = Right.getAs<nonloc::ConcreteInt>()) {
308 assert(Side == OperandSide::Right);