Lines Matching refs:Val

50   llvm::APSInt Val;  member in __anon807bcb150111::PPValue
53 PPValue(unsigned BitWidth) : Val(BitWidth) {} in PPValue()
60 unsigned getBitWidth() const { return Val.getBitWidth(); } in getBitWidth()
61 bool isUnsigned() const { return Val.isUnsigned(); } in isUnsigned()
132 Result.Val = !!Macro; in EvaluateDefined()
133 Result.Val.setIsUnsigned(false); // Result is signed intmax_t. in EvaluateDefined()
141 if (Result.Val != 0 && ValueLive) in EvaluateDefined()
278 Result.Val = 0; in EvaluateValue()
279 Result.Val.setIsUnsigned(false); // "0" is signed intmax_t 0. in EvaluateValue()
345 if (Literal.GetIntegerValue(Result.Val)) { in EvaluateValue()
350 Result.Val.setIsUnsigned(true); in EvaluateValue()
354 Result.Val.setIsUnsigned(Literal.isUnsigned); in EvaluateValue()
360 if (!Literal.isUnsigned && Result.Val.isNegative()) { in EvaluateValue()
365 Result.Val.setIsUnsigned(true); in EvaluateValue()
409 llvm::APSInt Val(NumBits); in EvaluateValue() local
411 Val = Literal.getValue(); in EvaluateValue()
415 Val.setIsUnsigned(!TargetInfo::isTypeSigned(TI.getWCharType())); in EvaluateValue()
417 Val.setIsUnsigned(true); in EvaluateValue()
420 Val.setIsUnsigned( in EvaluateValue()
423 Val.setIsUnsigned(true); in EvaluateValue()
425 Val.setIsUnsigned(!PP.getLangOpts().CharIsSigned); in EvaluateValue()
427 if (Result.Val.getBitWidth() > Val.getBitWidth()) { in EvaluateValue()
428 Result.Val = Val.extend(Result.Val.getBitWidth()); in EvaluateValue()
430 assert(Result.Val.getBitWidth() == Val.getBitWidth() && in EvaluateValue()
432 Result.Val = Val; in EvaluateValue()
487 Result.Val = -Result.Val; in EvaluateValue()
490 bool Overflow = !Result.isUnsigned() && Result.Val.isMinSignedValue(); in EvaluateValue()
508 Result.Val = ~Result.Val; in EvaluateValue()
518 Result.Val = !Result.Val; in EvaluateValue()
520 Result.Val.setIsUnsigned(false); in EvaluateValue()
531 Result.Val = PeekTok.getKind() == tok::kw_true; in EvaluateValue()
532 Result.Val.setIsUnsigned(false); // "0" is signed intmax_t 0. in EvaluateValue()
617 if (Operator == tok::ampamp && LHS.Val == 0) in EvaluateDirectiveSubExpr()
619 else if (Operator == tok::pipepipe && LHS.Val != 0) in EvaluateDirectiveSubExpr()
621 else if (Operator == tok::question && LHS.Val == 0) in EvaluateDirectiveSubExpr()
688 if (!LHS.isUnsigned() && LHS.Val.isNegative()) in EvaluateDirectiveSubExpr()
690 << toString(LHS.Val, 10, true) + " to " + in EvaluateDirectiveSubExpr()
691 toString(LHS.Val, 10, false) in EvaluateDirectiveSubExpr()
693 if (!RHS.isUnsigned() && RHS.Val.isNegative()) in EvaluateDirectiveSubExpr()
695 << toString(RHS.Val, 10, true) + " to " + in EvaluateDirectiveSubExpr()
696 toString(RHS.Val, 10, false) in EvaluateDirectiveSubExpr()
699 LHS.Val.setIsUnsigned(Res.isUnsigned()); in EvaluateDirectiveSubExpr()
700 RHS.Val.setIsUnsigned(Res.isUnsigned()); in EvaluateDirectiveSubExpr()
707 if (RHS.Val != 0) in EvaluateDirectiveSubExpr()
708 Res = LHS.Val % RHS.Val; in EvaluateDirectiveSubExpr()
716 if (RHS.Val != 0) { in EvaluateDirectiveSubExpr()
717 if (LHS.Val.isSigned()) in EvaluateDirectiveSubExpr()
718 Res = llvm::APSInt(LHS.Val.sdiv_ov(RHS.Val, Overflow), false); in EvaluateDirectiveSubExpr()
720 Res = LHS.Val / RHS.Val; in EvaluateDirectiveSubExpr()
730 Res = llvm::APSInt(LHS.Val.smul_ov(RHS.Val, Overflow), false); in EvaluateDirectiveSubExpr()
732 Res = LHS.Val * RHS.Val; in EvaluateDirectiveSubExpr()
737 Res = LHS.Val.ushl_ov(RHS.Val, Overflow); in EvaluateDirectiveSubExpr()
739 Res = llvm::APSInt(LHS.Val.sshl_ov(RHS.Val, Overflow), false); in EvaluateDirectiveSubExpr()
744 unsigned ShAmt = static_cast<unsigned>(RHS.Val.getLimitedValue()); in EvaluateDirectiveSubExpr()
749 Res = LHS.Val >> ShAmt; in EvaluateDirectiveSubExpr()
754 Res = LHS.Val + RHS.Val; in EvaluateDirectiveSubExpr()
756 Res = llvm::APSInt(LHS.Val.sadd_ov(RHS.Val, Overflow), false); in EvaluateDirectiveSubExpr()
760 Res = LHS.Val - RHS.Val; in EvaluateDirectiveSubExpr()
762 Res = llvm::APSInt(LHS.Val.ssub_ov(RHS.Val, Overflow), false); in EvaluateDirectiveSubExpr()
765 Res = LHS.Val <= RHS.Val; in EvaluateDirectiveSubExpr()
769 Res = LHS.Val < RHS.Val; in EvaluateDirectiveSubExpr()
773 Res = LHS.Val >= RHS.Val; in EvaluateDirectiveSubExpr()
777 Res = LHS.Val > RHS.Val; in EvaluateDirectiveSubExpr()
781 Res = LHS.Val != RHS.Val; in EvaluateDirectiveSubExpr()
785 Res = LHS.Val == RHS.Val; in EvaluateDirectiveSubExpr()
789 Res = LHS.Val & RHS.Val; in EvaluateDirectiveSubExpr()
792 Res = LHS.Val ^ RHS.Val; in EvaluateDirectiveSubExpr()
795 Res = LHS.Val | RHS.Val; in EvaluateDirectiveSubExpr()
798 Res = (LHS.Val != 0 && RHS.Val != 0); in EvaluateDirectiveSubExpr()
802 Res = (LHS.Val != 0 || RHS.Val != 0); in EvaluateDirectiveSubExpr()
811 Res = RHS.Val; // LHS = LHS,RHS -> RHS. in EvaluateDirectiveSubExpr()
825 bool AfterColonLive = ValueLive && LHS.Val == 0; in EvaluateDirectiveSubExpr()
839 Res = LHS.Val != 0 ? RHS.Val : AfterColonVal.Val; in EvaluateDirectiveSubExpr()
863 LHS.Val = Res; in EvaluateDirectiveSubExpr()
926 bool IsNonZero = ResVal.Val != 0; in EvaluateDirectiveExpression()
928 return {std::move(ResVal.Val), IsNonZero, DT.IncludedUndefinedIds, in EvaluateDirectiveExpression()
959 bool IsNonZero = ResVal.Val != 0; in EvaluateDirectiveExpression()
961 return {std::move(ResVal.Val), IsNonZero, DT.IncludedUndefinedIds, ValRange}; in EvaluateDirectiveExpression()