MatzeB added inline comments.
================ Comment at: clang/lib/CodeGen/CGCoroutine.cpp:724-730 + Stmt *BodyStmt = S.getBody(); + CompoundStmt *Body = dyn_cast<CompoundStmt>(BodyStmt); + if (Body == nullptr) { + Body = + CompoundStmt::Create(getContext(), {BodyStmt}, FPOptionsOverride(), + SourceLocation(), SourceLocation()); + } ---------------- ChuanqiXu wrote: > MatzeB wrote: > > ChuanqiXu wrote: > > > MatzeB wrote: > > > > ChuanqiXu wrote: > > > > > Can we try to move the logic to `CoroutineStmtBuilder`? That makes me > > > > > feel better. And it will be helpful to add a comment to tell that > > > > > we're handling the case the function body is function-try-block. > > > > I'll add a detailed comment. But would you be fine leaving the > > > > statements here as-is? The logic only makes sense in the context of > > > > using the `Body` to create a `CXXTryStmt` below (it's really an effect > > > > of `CXXTryStmt` only accepting CompountStmt operands). > > > It looks like you didn't address the comments. Would you like to address > > > it? I don't mind to address it later myself. > > Did you mean to create a new function named `CoroutineStmtBuilder` like I > > did now? > > Did you mean to create a new function named CoroutineStmtBuilder like I did > > now? > > No, I mean we should construct this in Sema. > > > Putting an assert here feels unnecessary and may be in the way if in the > > future we ever allow other types of single-statement function bodies. > > Personally I prefer the more precise style. > No, I mean we should construct this in Sema. I'll land the patch as-is then and leave the refactoring to you if necessary. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146758/new/ https://reviews.llvm.org/D146758 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits