[PATCH] D87004: [analyzer] Evaluate PredefinedExpressions

Bruno Ricci via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 2 05:40:41 PDT 2020


riccibruno added a comment.

> I don't know how could a `PredefinedExpression` lack the function name, probably @riccibruno or @rjmccall can help with this - according to D53605 <https://reviews.llvm.org/D53605>.

A `PredefinedExpr` whose declaration context is dependent has no name (see `Sema::BuildPredefinedExpr`). Example:

  void f0() { __func__; }
  -PredefinedExpr 0x6a76ba8 <col:13> 'const char [3]' lvalue __func__
  `-StringLiteral 0x6a76b88 <col:13> 'const char [3]' lvalue "f0"
  
  template <typename> void f1() { __func__; }
  `-PredefinedExpr 0x6a76e78 <col:35> '<dependent type>' lvalue __func__
  
  template void f1<int>();
  -PredefinedExpr 0x6a77060 <col:35> 'const char [3]' lvalue __func__
  `-StringLiteral 0x6a77040 <col:35> 'const char [3]' lvalue "f1"


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87004/new/

https://reviews.llvm.org/D87004



More information about the cfe-commits mailing list