Lines Matching refs:PP
59 Preprocessor &PP);
83 bool ValueLive, Preprocessor &PP) { in EvaluateDefined() argument
88 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
95 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
99 if (PP.getCodeCompletionHandler()) in EvaluateDefined()
100 PP.getCodeCompletionHandler()->CodeCompleteMacroName(false); in EvaluateDefined()
101 PP.setCodeCompletionReached(); in EvaluateDefined()
102 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
107 PP.Diag(PeekTok, diag::err_pp_defined_requires_identifier); in EvaluateDefined()
118 Macro = PP.getMacroDirective(II); in EvaluateDefined()
119 PP.markMacroAsUsed(Macro->getInfo()); in EvaluateDefined()
123 if (PPCallbacks *Callbacks = PP.getPPCallbacks()) { in EvaluateDefined()
127 MD = PP.getMacroDirective(II); in EvaluateDefined()
135 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
138 PP.Diag(PeekTok.getLocation(), diag::err_pp_missing_rparen) << "defined"; in EvaluateDefined()
139 PP.Diag(LParenLoc, diag::note_matching) << "("; in EvaluateDefined()
144 PP.LexNonComment(PeekTok); in EvaluateDefined()
148 PP.LexNonComment(PeekTok); in EvaluateDefined()
166 bool ValueLive, Preprocessor &PP) { in EvaluateValue() argument
170 if (PP.getCodeCompletionHandler()) in EvaluateValue()
171 PP.getCodeCompletionHandler()->CodeCompletePreprocessorExpression(); in EvaluateValue()
172 PP.setCodeCompletionReached(); in EvaluateValue()
173 PP.LexNonComment(PeekTok); in EvaluateValue()
182 return(EvaluateDefined(Result, PeekTok, DT, ValueLive, PP)); in EvaluateValue()
191 PP.Diag(PeekTok, diag::warn_pp_undef_identifier) << II; in EvaluateValue()
195 PP.LexNonComment(PeekTok); in EvaluateValue()
201 PP.Diag(PeekTok, diag::err_pp_expr_bad_token_start_expr); in EvaluateValue()
206 PP.Diag(PeekTok, diag::err_pp_expected_value_in_expr); in EvaluateValue()
211 StringRef Spelling = PP.getSpelling(PeekTok, IntegerBuffer, in EvaluateValue()
216 NumericLiteralParser Literal(Spelling, PeekTok.getLocation(), PP); in EvaluateValue()
221 PP.Diag(PeekTok, diag::err_pp_illegal_floating_literal); in EvaluateValue()
228 PP.Diag(PeekTok, diag::err_pp_invalid_udl) << /*integer*/1; in EvaluateValue()
231 if (!PP.getLangOpts().C99 && Literal.isLongLong) { in EvaluateValue()
232 if (PP.getLangOpts().CPlusPlus) in EvaluateValue()
233 PP.Diag(PeekTok, in EvaluateValue()
234 PP.getLangOpts().CPlusPlus11 ? in EvaluateValue()
237 PP.Diag(PeekTok, diag::ext_c99_longlong); in EvaluateValue()
243 if (ValueLive) PP.Diag(PeekTok, diag::warn_integer_too_large); in EvaluateValue()
257 PP.Diag(PeekTok, diag::warn_integer_too_large_for_signed); in EvaluateValue()
264 PP.LexNonComment(PeekTok); in EvaluateValue()
273 PP.Diag(PeekTok, diag::err_pp_invalid_udl) << /*character*/0; in EvaluateValue()
277 StringRef ThisTok = PP.getSpelling(PeekTok, CharBuffer, &CharInvalid); in EvaluateValue()
282 PeekTok.getLocation(), PP, PeekTok.getKind()); in EvaluateValue()
287 const TargetInfo &TI = PP.getTargetInfo(); in EvaluateValue()
306 Val.setIsUnsigned(!PP.getLangOpts().CharIsSigned); in EvaluateValue()
318 PP.LexNonComment(PeekTok); in EvaluateValue()
323 PP.LexNonComment(PeekTok); // Eat the (. in EvaluateValue()
326 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
334 if (EvaluateDirectiveSubExpr(Result, 1, PeekTok, ValueLive, PP)) in EvaluateValue()
338 PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_rparen) in EvaluateValue()
340 PP.Diag(Start, diag::note_matching) << "("; in EvaluateValue()
346 PP.LexNonComment(PeekTok); // Eat the ). in EvaluateValue()
352 PP.LexNonComment(PeekTok); in EvaluateValue()
353 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
359 PP.LexNonComment(PeekTok); in EvaluateValue()
360 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
371 PP.Diag(Loc, diag::warn_pp_expr_overflow) << Result.getRange(); in EvaluateValue()
379 PP.LexNonComment(PeekTok); in EvaluateValue()
380 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
391 PP.LexNonComment(PeekTok); in EvaluateValue()
392 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
454 Preprocessor &PP) { in EvaluateDirectiveSubExpr() argument
458 PP.Diag(PeekTok.getLocation(), diag::err_pp_expr_bad_token_binop) in EvaluateDirectiveSubExpr()
488 PP.LexNonComment(PeekTok); in EvaluateDirectiveSubExpr()
493 if (EvaluateValue(RHS, PeekTok, DT, RHSIsLive, PP)) return true; in EvaluateDirectiveSubExpr()
502 PP.Diag(PeekTok.getLocation(), diag::err_pp_expr_bad_token_binop) in EvaluateDirectiveSubExpr()
525 if (EvaluateDirectiveSubExpr(RHS, RHSPrec, PeekTok, RHSIsLive, PP)) in EvaluateDirectiveSubExpr()
548 PP.Diag(OpLoc, diag::warn_pp_convert_lhs_to_positive) in EvaluateDirectiveSubExpr()
553 PP.Diag(OpLoc, diag::warn_pp_convert_rhs_to_positive) in EvaluateDirectiveSubExpr()
569 PP.Diag(OpLoc, diag::err_pp_remainder_by_zero) in EvaluateDirectiveSubExpr()
581 PP.Diag(OpLoc, diag::err_pp_division_by_zero) in EvaluateDirectiveSubExpr()
670 if (!PP.getLangOpts().C99 || ValueLive) in EvaluateDirectiveSubExpr()
671 PP.Diag(OpLoc, diag::ext_pp_comma_expr) in EvaluateDirectiveSubExpr()
678 PP.Diag(PeekTok.getLocation(), diag::err_expected_colon) in EvaluateDirectiveSubExpr()
680 PP.Diag(OpLoc, diag::note_matching) << "?"; in EvaluateDirectiveSubExpr()
684 PP.LexNonComment(PeekTok); in EvaluateDirectiveSubExpr()
690 if (EvaluateValue(AfterColonVal, PeekTok, DT, AfterColonLive, PP)) in EvaluateDirectiveSubExpr()
696 PeekTok, AfterColonLive, PP)) in EvaluateDirectiveSubExpr()
713 PP.Diag(OpLoc, diag::err_pp_colon_without_question) in EvaluateDirectiveSubExpr()
720 PP.Diag(OpLoc, diag::warn_pp_expr_overflow) in EvaluateDirectiveSubExpr()