reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2492 return CheckedIntArithmetic(Info, E, LHS, RHS, LHS.getBitWidth() * 2, 2495 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; 2505 if (RHS == 0) { 2509 Result = (Opcode == BO_Rem ? LHS % RHS : LHS / RHS); 2509 Result = (Opcode == BO_Rem ? LHS % RHS : LHS / RHS); 2512 if (RHS.isNegative() && RHS.isAllOnesValue() && 2512 if (RHS.isNegative() && RHS.isAllOnesValue() && 2520 RHS &= APSInt(llvm::APInt(RHS.getBitWidth(), 2520 RHS &= APSInt(llvm::APInt(RHS.getBitWidth(), 2522 RHS.isUnsigned()); 2523 else if (RHS.isSigned() && RHS.isNegative()) { 2523 else if (RHS.isSigned() && RHS.isNegative()) { 2526 Info.CCEDiag(E, diag::note_constexpr_negative_shift) << RHS; 2527 RHS = -RHS; 2527 RHS = -RHS; 2533 unsigned SA = (unsigned) RHS.getLimitedValue(LHS.getBitWidth()-1); 2534 if (SA != RHS) { 2536 << RHS << E->getType() << LHS.getBitWidth(); 2553 RHS &= APSInt(llvm::APInt(RHS.getBitWidth(), 2553 RHS &= APSInt(llvm::APInt(RHS.getBitWidth(), 2555 RHS.isUnsigned()); 2556 else if (RHS.isSigned() && RHS.isNegative()) { 2556 else if (RHS.isSigned() && RHS.isNegative()) { 2559 Info.CCEDiag(E, diag::note_constexpr_negative_shift) << RHS; 2560 RHS = -RHS; 2560 RHS = -RHS; 2566 unsigned SA = (unsigned) RHS.getLimitedValue(LHS.getBitWidth()-1); 2567 if (SA != RHS) 2569 << RHS << E->getType() << LHS.getBitWidth(); 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;