diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-10-27 06:02:45 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-10-27 06:02:45 +0000 |
commit | 9f690bd80bb67d483df2b9e15261e548f8b3a474 (patch) | |
tree | c4d74a57ede2212275c7594e815508082249bb93 /clang/lib/AST/ExprClassification.cpp | |
parent | d5510d1e5c2d0e4d18389f1f0c1f649cecea5d3a (diff) | |
download | llvm-9f690bd80bb67d483df2b9e15261e548f8b3a474.zip llvm-9f690bd80bb67d483df2b9e15261e548f8b3a474.tar.gz llvm-9f690bd80bb67d483df2b9e15261e548f8b3a474.tar.bz2 |
[coroutines] Creation of promise object, lookup of operator co_await, building
of await_* calls, and AST representation for same.
llvm-svn: 251387
Diffstat (limited to 'clang/lib/AST/ExprClassification.cpp')
-rw-r--r-- | clang/lib/AST/ExprClassification.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/AST/ExprClassification.cpp b/clang/lib/AST/ExprClassification.cpp index 882c786..a5a4435 100644 --- a/clang/lib/AST/ExprClassification.cpp +++ b/clang/lib/AST/ExprClassification.cpp @@ -186,6 +186,7 @@ static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E) { case Expr::CXXFoldExprClass: case Expr::NoInitExprClass: case Expr::DesignatedInitUpdateExprClass: + case Expr::CoyieldExprClass: return Cl::CL_PRValue; // Next come the complicated cases. @@ -397,6 +398,9 @@ static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E) { assert(cast<InitListExpr>(E)->getNumInits() == 1 && "Only 1-element init lists can be glvalues."); return ClassifyInternal(Ctx, cast<InitListExpr>(E)->getInit(0)); + + case Expr::CoawaitExprClass: + return ClassifyInternal(Ctx, cast<CoawaitExpr>(E)->getResumeExpr()); } llvm_unreachable("unhandled expression kind in classification"); |