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

References

tools/clang/lib/Lex/PPExpressions.cpp
  584     if (EvaluateValue(RHS, PeekTok, DT, RHSIsLive, PP)) return true;
  594       diagnoseUnexpectedOperator(PP, RHS, PeekTok);
  616       if (EvaluateDirectiveSubExpr(RHS, RHSPrec, PeekTok, RHSIsLive,
  635       Res.setIsUnsigned(LHS.isUnsigned()|RHS.isUnsigned());
  643             << LHS.getRange() << RHS.getRange();
  644         if (!RHS.isUnsigned() && RHS.Val.isNegative())
  644         if (!RHS.isUnsigned() && RHS.Val.isNegative())
  646             << RHS.Val.toString(10, true) + " to " +
  647                RHS.Val.toString(10, false)
  648             << LHS.getRange() << RHS.getRange();
  651       RHS.Val.setIsUnsigned(Res.isUnsigned());
  658       if (RHS.Val != 0)
  659         Res = LHS.Val % RHS.Val;
  662           << LHS.getRange() << RHS.getRange();
  667       if (RHS.Val != 0) {
  669           Res = llvm::APSInt(LHS.Val.sdiv_ov(RHS.Val, Overflow), false);
  671           Res = LHS.Val / RHS.Val;
  674           << LHS.getRange() << RHS.getRange();
  681         Res = llvm::APSInt(LHS.Val.smul_ov(RHS.Val, Overflow), false);
  683         Res = LHS.Val * RHS.Val;
  688         Res = LHS.Val.ushl_ov(RHS.Val, Overflow);
  690         Res = llvm::APSInt(LHS.Val.sshl_ov(RHS.Val, Overflow), false);
  695       unsigned ShAmt = static_cast<unsigned>(RHS.Val.getLimitedValue());
  705         Res = LHS.Val + RHS.Val;
  707         Res = llvm::APSInt(LHS.Val.sadd_ov(RHS.Val, Overflow), false);
  711         Res = LHS.Val - RHS.Val;
  713         Res = llvm::APSInt(LHS.Val.ssub_ov(RHS.Val, Overflow), false);
  716       Res = LHS.Val <= RHS.Val;
  720       Res = LHS.Val < RHS.Val;
  724       Res = LHS.Val >= RHS.Val;
  728       Res = LHS.Val > RHS.Val;
  732       Res = LHS.Val != RHS.Val;
  736       Res = LHS.Val == RHS.Val;
  740       Res = LHS.Val & RHS.Val;
  743       Res = LHS.Val ^ RHS.Val;
  746       Res = LHS.Val | RHS.Val;
  749       Res = (LHS.Val != 0 && RHS.Val != 0);
  753       Res = (LHS.Val != 0 || RHS.Val != 0);
  761           << LHS.getRange() << RHS.getRange();
  762       Res = RHS.Val; // LHS = LHS,RHS -> RHS.
  768             << tok::colon << LHS.getRange() << RHS.getRange();
  790       Res = LHS.Val != 0 ? RHS.Val : AfterColonVal.Val;
  791       RHS.setEnd(AfterColonVal.getRange().getEnd());
  795       Res.setIsUnsigned(RHS.isUnsigned() | AfterColonVal.isUnsigned());
  804         << LHS.getRange() << RHS.getRange();
  811         << LHS.getRange() << RHS.getRange();
  815     LHS.setEnd(RHS.getRange().getEnd());
  816     RHS.setIdentifier(nullptr);