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

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to