reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/AST/ExprConstant.cpp
 2492     return CheckedIntArithmetic(Info, E, LHS, RHS, LHS.getBitWidth() * 2,
 2492     return CheckedIntArithmetic(Info, E, LHS, RHS, LHS.getBitWidth() * 2,
 2495     return CheckedIntArithmetic(Info, E, LHS, RHS, LHS.getBitWidth() + 1,
 2495     return CheckedIntArithmetic(Info, E, LHS, RHS, LHS.getBitWidth() + 1,
 2498     return CheckedIntArithmetic(Info, E, LHS, RHS, LHS.getBitWidth() + 1,
 2498     return CheckedIntArithmetic(Info, E, LHS, RHS, LHS.getBitWidth() + 1,
 2500   case BO_And: Result = LHS & RHS; return true;
 2501   case BO_Xor: Result = LHS ^ RHS; return true;
 2502   case BO_Or:  Result = LHS | RHS; return true;
 2509     Result = (Opcode == BO_Rem ? LHS % RHS : LHS / RHS);
 2509     Result = (Opcode == BO_Rem ? LHS % RHS : LHS / RHS);
 2513         LHS.isSigned() && LHS.isMinSignedValue())
 2513         LHS.isSigned() && LHS.isMinSignedValue())
 2514       return HandleOverflow(Info, E, -LHS.extend(LHS.getBitWidth() + 1),
 2514       return HandleOverflow(Info, E, -LHS.extend(LHS.getBitWidth() + 1),
 2521                     static_cast<uint64_t>(LHS.getBitWidth() - 1)),
 2533     unsigned SA = (unsigned) RHS.getLimitedValue(LHS.getBitWidth()-1);
 2536         << RHS << E->getType() << LHS.getBitWidth();
 2537     } else if (LHS.isSigned() && !Info.getLangOpts().CPlusPlus2a) {
 2542       if (LHS.isNegative())
 2543         Info.CCEDiag(E, diag::note_constexpr_lshift_of_negative) << LHS;
 2544       else if (LHS.countLeadingZeros() < SA)
 2547     Result = LHS << SA;
 2554                     static_cast<uint64_t>(LHS.getBitWidth() - 1)),
 2566     unsigned SA = (unsigned) RHS.getLimitedValue(LHS.getBitWidth()-1);
 2569         << RHS << E->getType() << LHS.getBitWidth();
 2570     Result = LHS >> SA;
 2574   case BO_LT: Result = LHS < RHS; return true;
 2575   case BO_GT: Result = LHS > RHS; return true;
 2576   case BO_LE: Result = LHS <= RHS; return true;
 2577   case BO_GE: Result = LHS >= RHS; return true;
 2578   case BO_EQ: Result = LHS == RHS; return true;
 2579   case BO_NE: Result = LHS != RHS; return true;