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:/
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
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
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
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
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()
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/