================
@@ -696,12 +661,12 @@ static void CheckFallThroughForBody(Sema &S, const Decl
*D, const Stmt *Body,
if (CD.checkDiagnostics(Diags, ReturnsVoid, HasNoReturn))
return;
SourceLocation LBrace = Body->getBeginLoc(), RBrace = Body->getEndLoc();
- auto EmitDiag = [&](SourceLocation Loc, unsigned DiagID) {
+ auto EmitDiag = [&](SourceLocation Loc, unsigned DiagID, unsigned FunMode) {
----------------
Sirraide wrote:
Hmm, looking at how this has turned out, I think the entire lambda body can
just be
```c++
if (DiagID)
S.Diag(Loc, DiagID) << CD.FunMode;
```
and then use `EmitDiag` instead of `S.Diag` everywhere in the `switch`
statement below. That way we don’t have to think too hard about when a diag id
might or might not be `0`. That also should allow us to remove the
`IsCoroutine`-related checks again.
https://github.com/llvm/llvm-project/pull/127546
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits