[PATCH] D155396: [Sema][ObjC] Propagating value-dependent errors into BlockExpr
Haojian Wu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 21 03:05:00 PDT 2023
hokein added a comment.
thanks!
================
Comment at: clang/lib/Sema/SemaStmt.cpp:3736
+ BlockDecl *BD = CurBlock->TheDecl;
+ if (!BD->isInvalidDecl() && RetValExp && RetValExp->containsErrors())
+ BD->setInvalidDecl();
----------------
nit: the `isInvalidDecl` check is not need, we can inline the `RetValExpr` to the above if as well.
```
if (auto *CurBlock = dyn_cast<BlockScopeInfo>(CurCap); CurBlock && CurCap->HasImplicitReturnType && RetValExp && RetValExp->containsErrors())
CurBlock->TheDecl->setInvalidDecl();
```
================
Comment at: clang/test/SemaObjC/crash-on-val-dep-block-expr.m:1
+// RUN: %clang_cc1 -fblocks -fsyntax-only -verify %s
+// no crash
----------------
can you move these tests to `llvm-project/clang/test/AST/ast-dump-recovery.c`?
Repository:
rZORG LLVM Github Zorg
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D155396/new/
https://reviews.llvm.org/D155396
More information about the cfe-commits
mailing list