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

References

tools/clang/lib/Lex/PPExpressions.cpp
  233   if (PeekTok.is(tok::code_completion)) {
  237     PP.LexNonComment(PeekTok);
  240   switch (PeekTok.getKind()) {
  245     if (IdentifierInfo *II = PeekTok.getIdentifierInfo()) {
  248         return EvaluateDefined(Result, PeekTok, DT, ValueLive, PP);
  255           PP.Diag(PeekTok, diag::warn_pp_undef_identifier) << II;
  259         Result.setRange(PeekTok.getLocation());
  261         PP.LexNonComment(PeekTok);
  265     PP.Diag(PeekTok, diag::err_pp_expr_bad_token_start_expr);
  270     PP.Diag(PeekTok, diag::err_pp_expected_value_in_expr);
  275     StringRef Spelling = PP.getSpelling(PeekTok, IntegerBuffer,
  280     NumericLiteralParser Literal(Spelling, PeekTok.getLocation(), PP);
  285       PP.Diag(PeekTok, diag::err_pp_illegal_floating_literal);
  292       PP.Diag(PeekTok, diag::err_pp_invalid_udl) << /*integer*/1;
  297         PP.Diag(PeekTok,
  301         PP.Diag(PeekTok, diag::ext_c99_longlong);
  308         PP.Diag(PeekTok, diag::err_integer_literal_too_large)
  324           PP.Diag(PeekTok, diag::ext_integer_literal_too_large_for_signed);
  330     Result.setRange(PeekTok.getLocation());
  331     PP.LexNonComment(PeekTok);
  340     if (PeekTok.hasUDSuffix())
  341       PP.Diag(PeekTok, diag::err_pp_invalid_udl) << /*character*/0;
  345     StringRef ThisTok = PP.getSpelling(PeekTok, CharBuffer, &CharInvalid);
  350                               PeekTok.getLocation(), PP, PeekTok.getKind());
  350                               PeekTok.getLocation(), PP, PeekTok.getKind());
  387     Result.setRange(PeekTok.getLocation());
  388     PP.LexNonComment(PeekTok);
  392     SourceLocation Start = PeekTok.getLocation();
  393     PP.LexNonComment(PeekTok);  // Eat the (.
  396     if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true;
  400     if (PeekTok.is(tok::r_paren)) {
  404       if (EvaluateDirectiveSubExpr(Result, 1, PeekTok, ValueLive,
  408       if (PeekTok.isNot(tok::r_paren)) {
  409         PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_rparen)
  416     Result.setRange(Start, PeekTok.getLocation());
  418     PP.LexNonComment(PeekTok);  // Eat the ).
  422     SourceLocation Start = PeekTok.getLocation();
  424     PP.LexNonComment(PeekTok);
  425     if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true;
  431     SourceLocation Loc = PeekTok.getLocation();
  432     PP.LexNonComment(PeekTok);
  433     if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true;
  452     SourceLocation Start = PeekTok.getLocation();
  453     PP.LexNonComment(PeekTok);
  454     if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true;
  465     SourceLocation Start = PeekTok.getLocation();
  466     PP.LexNonComment(PeekTok);
  467     if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true;
  482     Result.Val = PeekTok.getKind() == tok::kw_true;
  484     Result.setIdentifier(PeekTok.getIdentifierInfo());
  485     Result.setRange(PeekTok.getLocation());
  486     PP.LexNonComment(PeekTok);