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

References

tools/clang/lib/Lex/PPExpressions.cpp
  550     diagnoseUnexpectedOperator(PP, LHS, PeekTok);
  568     if (Operator == tok::ampamp && LHS.Val == 0)
  570     else if (Operator == tok::pipepipe && LHS.Val != 0)
  572     else if (Operator == tok::question && LHS.Val == 0)
  581     PPValue RHS(LHS.getBitWidth());
  625     llvm::APSInt Res(LHS.getBitWidth());
  635       Res.setIsUnsigned(LHS.isUnsigned()|RHS.isUnsigned());
  639         if (!LHS.isUnsigned() && LHS.Val.isNegative())
  639         if (!LHS.isUnsigned() && LHS.Val.isNegative())
  641             << LHS.Val.toString(10, true) + " to " +
  642                LHS.Val.toString(10, false)
  643             << LHS.getRange() << RHS.getRange();
  648             << LHS.getRange() << RHS.getRange();
  650       LHS.Val.setIsUnsigned(Res.isUnsigned());
  659         Res = LHS.Val % RHS.Val;
  662           << LHS.getRange() << RHS.getRange();
  668         if (LHS.Val.isSigned())
  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;
  687       if (LHS.isUnsigned())
  688         Res = LHS.Val.ushl_ov(RHS.Val, Overflow);
  690         Res = llvm::APSInt(LHS.Val.sshl_ov(RHS.Val, Overflow), false);
  696       if (ShAmt >= LHS.getBitWidth()) {
  698         ShAmt = LHS.getBitWidth()-1;
  700       Res = LHS.Val >> ShAmt;
  704       if (LHS.isUnsigned())
  705         Res = LHS.Val + RHS.Val;
  707         Res = llvm::APSInt(LHS.Val.sadd_ov(RHS.Val, Overflow), false);
  710       if (LHS.isUnsigned())
  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();
  768             << tok::colon << LHS.getRange() << RHS.getRange();
  776       bool AfterColonLive = ValueLive && LHS.Val == 0;
  777       PPValue AfterColonVal(LHS.getBitWidth());
  790       Res = LHS.Val != 0 ? RHS.Val : AfterColonVal.Val;
  804         << LHS.getRange() << RHS.getRange();
  811         << LHS.getRange() << RHS.getRange();
  814     LHS.Val = Res;
  815     LHS.setEnd(RHS.getRange().getEnd());