Lines Matching refs:PP
78 Preprocessor &PP);
103 bool ValueLive, Preprocessor &PP) { in EvaluateDefined() argument
108 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
115 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
119 if (PP.getCodeCompletionHandler()) in EvaluateDefined()
120 PP.getCodeCompletionHandler()->CodeCompleteMacroName(false); in EvaluateDefined()
121 PP.setCodeCompletionReached(); in EvaluateDefined()
122 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
126 if (PP.CheckMacroName(PeekTok, MU_Other)) in EvaluateDefined()
131 MacroDefinition Macro = PP.getMacroDefinition(II); in EvaluateDefined()
136 PP.emitMacroExpansionWarnings(PeekTok); in EvaluateDefined()
140 PP.markMacroAsUsed(Macro.getMacroInfo()); in EvaluateDefined()
149 PP.LexUnexpandedNonComment(PeekTok); in EvaluateDefined()
152 PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_after) in EvaluateDefined()
154 PP.Diag(LParenLoc, diag::note_matching) << tok::l_paren; in EvaluateDefined()
158 PP.LexNonComment(PeekTok); in EvaluateDefined()
163 PP.LexNonComment(PeekTok); in EvaluateDefined()
186 PP.getSourceManager() in EvaluateDefined()
187 .getSLocEntry(PP.getSourceManager().getFileID(beginLoc)) in EvaluateDefined()
206 PP.Diag(beginLoc, diag::warn_defined_in_function_type_macro); in EvaluateDefined()
208 PP.Diag(beginLoc, diag::warn_defined_in_object_type_macro); in EvaluateDefined()
212 if (PPCallbacks *Callbacks = PP.getPPCallbacks()) { in EvaluateDefined()
232 bool ValueLive, Preprocessor &PP) { in EvaluateValue() argument
238 if (PP.getCodeCompletionHandler()) in EvaluateValue()
239 PP.getCodeCompletionHandler()->CodeCompletePreprocessorExpression(); in EvaluateValue()
240 PP.setCodeCompletionReached(); in EvaluateValue()
241 PP.LexNonComment(PeekTok); in EvaluateValue()
252 return EvaluateDefined(Result, PeekTok, DT, ValueLive, PP); in EvaluateValue()
259 PP.Diag(PeekTok, diag::warn_pp_undef_identifier) << II; in EvaluateValue()
261 const DiagnosticsEngine &DiagEngine = PP.getDiagnostics(); in EvaluateValue()
272 PP.Diag(PeekTok, diag::warn_pp_undef_prefix) in EvaluateValue()
281 PP.LexNonComment(PeekTok); in EvaluateValue()
285 PP.Diag(PeekTok, diag::err_pp_expr_bad_token_start_expr); in EvaluateValue()
290 PP.Diag(PeekTok, diag::err_pp_expected_value_in_expr); in EvaluateValue()
295 StringRef Spelling = PP.getSpelling(PeekTok, IntegerBuffer, in EvaluateValue()
301 PP.getSourceManager(), PP.getLangOpts(), in EvaluateValue()
302 PP.getTargetInfo(), PP.getDiagnostics()); in EvaluateValue()
307 PP.Diag(PeekTok, diag::err_pp_illegal_floating_literal); in EvaluateValue()
314 PP.Diag(PeekTok, diag::err_pp_invalid_udl) << /*integer*/1; in EvaluateValue()
317 if (!PP.getLangOpts().C99 && Literal.isLongLong) { in EvaluateValue()
318 if (PP.getLangOpts().CPlusPlus) in EvaluateValue()
319 PP.Diag(PeekTok, in EvaluateValue()
320 PP.getLangOpts().CPlusPlus11 ? in EvaluateValue()
323 PP.Diag(PeekTok, diag::ext_c99_longlong); in EvaluateValue()
328 PP.Diag(PeekTok, PP.getLangOpts().CPlusPlus in EvaluateValue()
329 ? PP.getLangOpts().CPlusPlus2b in EvaluateValue()
338 PP.Diag(PeekTok, PP.getLangOpts().C2x in EvaluateValue()
346 PP.Diag(PeekTok, diag::err_integer_literal_too_large) in EvaluateValue()
362 PP.Diag(PeekTok, diag::ext_integer_literal_too_large_for_signed); in EvaluateValue()
369 PP.LexNonComment(PeekTok); in EvaluateValue()
379 PP.Diag(PeekTok, diag::err_pp_invalid_udl) << /*character*/0; in EvaluateValue()
383 StringRef ThisTok = PP.getSpelling(PeekTok, CharBuffer, &CharInvalid); in EvaluateValue()
388 PeekTok.getLocation(), PP, PeekTok.getKind()); in EvaluateValue()
393 const TargetInfo &TI = PP.getTargetInfo(); in EvaluateValue()
417 if (PP.getLangOpts().CPlusPlus) in EvaluateValue()
419 PP.getLangOpts().Char8 ? true : !PP.getLangOpts().CharIsSigned); in EvaluateValue()
423 Val.setIsUnsigned(!PP.getLangOpts().CharIsSigned); in EvaluateValue()
435 PP.LexNonComment(PeekTok); in EvaluateValue()
440 PP.LexNonComment(PeekTok); // Eat the (. in EvaluateValue()
443 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
452 DT.IncludedUndefinedIds, PP)) in EvaluateValue()
456 PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_rparen) in EvaluateValue()
458 PP.Diag(Start, diag::note_matching) << tok::l_paren; in EvaluateValue()
465 PP.LexNonComment(PeekTok); // Eat the ). in EvaluateValue()
471 PP.LexNonComment(PeekTok); in EvaluateValue()
472 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
479 PP.LexNonComment(PeekTok); in EvaluateValue()
480 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
492 PP.Diag(Loc, diag::warn_pp_expr_overflow) << Result.getRange(); in EvaluateValue()
500 PP.LexNonComment(PeekTok); in EvaluateValue()
501 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
513 PP.LexNonComment(PeekTok); in EvaluateValue()
514 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue()
533 PP.LexNonComment(PeekTok); in EvaluateValue()
574 static void diagnoseUnexpectedOperator(Preprocessor &PP, PPValue &LHS, in diagnoseUnexpectedOperator() argument
577 PP.Diag(LHS.getRange().getBegin(), diag::err_pp_expr_bad_token_lparen) in diagnoseUnexpectedOperator()
580 PP.Diag(Tok.getLocation(), diag::err_pp_expr_bad_token_binop) in diagnoseUnexpectedOperator()
593 Preprocessor &PP) { in EvaluateDirectiveSubExpr() argument
597 diagnoseUnexpectedOperator(PP, LHS, PeekTok); in EvaluateDirectiveSubExpr()
626 PP.LexNonComment(PeekTok); in EvaluateDirectiveSubExpr()
631 if (EvaluateValue(RHS, PeekTok, DT, RHSIsLive, PP)) return true; in EvaluateDirectiveSubExpr()
641 diagnoseUnexpectedOperator(PP, RHS, PeekTok); in EvaluateDirectiveSubExpr()
664 IncludedUndefinedIds, PP)) in EvaluateDirectiveSubExpr()
687 PP.Diag(OpLoc, diag::warn_pp_convert_to_positive) << 0 in EvaluateDirectiveSubExpr()
692 PP.Diag(OpLoc, diag::warn_pp_convert_to_positive) << 1 in EvaluateDirectiveSubExpr()
708 PP.Diag(OpLoc, diag::err_pp_remainder_by_zero) in EvaluateDirectiveSubExpr()
720 PP.Diag(OpLoc, diag::err_pp_division_by_zero) in EvaluateDirectiveSubExpr()
806 if (!PP.getLangOpts().C99 || ValueLive) in EvaluateDirectiveSubExpr()
807 PP.Diag(OpLoc, diag::ext_pp_comma_expr) in EvaluateDirectiveSubExpr()
814 PP.Diag(PeekTok.getLocation(), diag::err_expected) in EvaluateDirectiveSubExpr()
816 PP.Diag(OpLoc, diag::note_matching) << tok::question; in EvaluateDirectiveSubExpr()
820 PP.LexNonComment(PeekTok); in EvaluateDirectiveSubExpr()
826 if (EvaluateValue(AfterColonVal, PeekTok, DT, AfterColonLive, PP)) in EvaluateDirectiveSubExpr()
833 IncludedUndefinedIds, PP)) in EvaluateDirectiveSubExpr()
850 PP.Diag(OpLoc, diag::err_pp_colon_without_question) in EvaluateDirectiveSubExpr()
857 PP.Diag(OpLoc, diag::warn_pp_expr_overflow) in EvaluateDirectiveSubExpr()