[PATCH] D31692: [coroutines] Wrap the body of the coroutine in try-catch

2017-05-22 Thread Gor Nishanov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL303583: [coroutines] Wrap the body of the coroutine in try-catch (authored by GorNishanov). Changed prior to commit: https://reviews.llvm.org/D31692?vs=99815&id=99827#toc Repository: rL LLVM https:/

[PATCH] D31692: [coroutines] Wrap the body of the coroutine in try-catch

2017-05-22 Thread Richard Smith via Phabricator via cfe-commits
rsmith accepted this revision. rsmith added a comment. This revision is now accepted and ready to land. LGTM https://reviews.llvm.org/D31692 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[PATCH] D31692: [coroutines] Wrap the body of the coroutine in try-catch

2017-05-22 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov updated this revision to Diff 99815. GorNishanov added a comment. Fix misspelling in a comment. @rsmith, Looks good now? https://reviews.llvm.org/D31692 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/CodeGen/CGCoroutine.cpp lib/Sema/SemaCoroutine.cpp test/CodeGenCorou

[PATCH] D31692: [coroutines] Wrap the body of the coroutine in try-catch

2017-05-22 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov updated this revision to Diff 99814. GorNishanov added a comment. 1. Heap allocate CxxTryStmt in CGCoroutine. 2. Merge with trunk https://reviews.llvm.org/D31692 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/CodeGen/CGCoroutine.cpp lib/Sema/SemaCoroutine.cpp test/Cod

[PATCH] D31692: [coroutines] Wrap the body of the coroutine in try-catch

2017-05-22 Thread Richard Smith via Phabricator via cfe-commits
rsmith added inline comments. Comment at: include/clang/AST/StmtCXX.h:128 +struct CXXTryStmt::OnStack : CXXTryStmt { + alignas(CXXTryStmt) Stmt *Stmts[2]; + OnStack(SourceLocation tryLoc, Stmt *tryBlock, Stmt *handler) This makes more assumptions about record l

[PATCH] D31692: [coroutines] Wrap the body of the coroutine in try-catch

2017-04-11 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov added inline comments. Comment at: lib/Sema/SemaCoroutine.cpp:977 + // Since the body of the coroutine will be wrapped in try-catch, it will + // be incompativle with SEH __try if present in a function. + if (!S.getLangOpts().Borland && Fn.FirstSEHTryLoc.isValid()

[PATCH] D31692: [coroutines] Wrap the body of the coroutine in try-catch

2017-04-04 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov created this revision. If unhandled_exception member function is present in the coroutine promise, wrap the body of the coroutine in: try { body } catch(...) { promise.unhandled_exception(); } https://reviews.llvm.org/D31692 Files: include/clang/AST/StmtCXX.h include/