alexfh added inline comments.
================ Comment at: clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp:45 + const auto* RHS = BinOp->getRHS()->IgnoreParenImpCasts(); + // <expr> & <mask>, mask is a compile time constant. + Expr::EvalResult RHSVal; ---------------- What about `<mask> & <expr>`? ================ Comment at: clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp:52 + // <char literal> + (<expr> % <mod>), where <base> is a char literal. + BinOp->dump(); + llvm::errs() << "A " << isa<CharacterLiteral>(LHS) << " " << (BinOp->getOpcode() == BO_Add)<< "\n"; ---------------- Please remove the debug output. ================ Comment at: clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp:54 + llvm::errs() << "A " << isa<CharacterLiteral>(LHS) << " " << (BinOp->getOpcode() == BO_Add)<< "\n"; + if (isa<CharacterLiteral>(LHS) && BinOp->getOpcode() == BO_Add) { + const auto* RHSOp = dyn_cast<BinaryOperator>(RHS); ---------------- What about `(x % 26) + 'a'`? Repository: rCTE Clang Tools Extra CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58609/new/ https://reviews.llvm.org/D58609 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits