Reviewers: hokein
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D80154
case OO_Array_New:
case OO_Array_Delete:
case OO_Arrow:
- case OO_Call:
case OO_Conditional:
case NUM_OVERLOADED_OPERATORS:
llvm_unreachable("Invalid operator call kind");
case OO_Subscript:
return Stmt::ArraySubscriptExprClass;
+ case OO_Call:
+ return Stmt::CallExprClass;
+
case OO_Coawait:
UnaryOp = UO_Coawait;
return Stmt::UnaryOperatorClass;
SC == Stmt::CompoundAssignOperatorClass)
ID.AddInteger(BinaryOp);
else
- assert(SC == Stmt::ArraySubscriptExprClass);
+ assert(SC == Stmt::ArraySubscriptExprClass || SC == Stmt::CallExprClass);
return;
}
// CHECK: `-VarDecl {{.*}} invalid unresolved_typo 'auto'
auto unresolved_typo = gned.*[] {};
}
+
+// CHECK: `-TypeAliasDecl {{.*}} Escape 'decltype([] {
+// CHECK-NEXT: return <recovery-expr>(undef);
+// CHECK-NEXT: }())'
+// CHECK-NEXT: `-DecltypeType {{.*}} 'decltype([] {
+// CHECK-NEXT: return <recovery-expr>(undef);
+// CHECK-NEXT: }())' dependent
+using Escape = decltype([] { return undef(); }());