Author: Arthur Eubanks Date: 2026-04-01T18:57:42Z New Revision: e5d57ce707e388219f0341002b8d8c908095bad1
URL: https://github.com/llvm/llvm-project/commit/e5d57ce707e388219f0341002b8d8c908095bad1 DIFF: https://github.com/llvm/llvm-project/commit/e5d57ce707e388219f0341002b8d8c908095bad1.diff LOG: Revert "[Clang] Fix assertion when __block is used on global variables in C mode" (#190018) Reverts llvm/llvm-project#183988 Breaks ObjC code, see https://github.com/llvm/llvm-project/pull/183988#issuecomment-4134934748 Added: Modified: clang/docs/ReleaseNotes.rst clang/lib/Sema/SemaObjC.cpp Removed: clang/test/Sema/gh183974.c ################################################################################ diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 98bd0d9fa807a..061ccd2492c49 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -430,7 +430,6 @@ Bug Fixes to AST Handling ^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed a bug where explicit nullability property attributes were not stored in AST nodes in Objective-C. (#GH179703) - Fixed a crash when parsing Doxygen ``@param`` commands attached to invalid declarations or non-function entities. (#GH182737) -- Fixed a assertion when __block is used on global variables in C mode. (#GH183974) Miscellaneous Bug Fixes ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/clang/lib/Sema/SemaObjC.cpp b/clang/lib/Sema/SemaObjC.cpp index dcd1b35e8fbc7..dae30b7e941d1 100644 --- a/clang/lib/Sema/SemaObjC.cpp +++ b/clang/lib/Sema/SemaObjC.cpp @@ -1711,12 +1711,6 @@ void SemaObjC::handleBlocksAttr(Decl *D, const ParsedAttr &AL) { return; } - VarDecl *VD = dyn_cast<VarDecl>(D); - if (!VD || !VD->hasLocalStorage()) { - Diag(AL.getLoc(), diag::err_block_on_nonlocal) << AL; - return; - } - D->addAttr(::new (getASTContext()) BlocksAttr(getASTContext(), AL, type)); } diff --git a/clang/test/Sema/gh183974.c b/clang/test/Sema/gh183974.c deleted file mode 100644 index 642a622761f69..0000000000000 --- a/clang/test/Sema/gh183974.c +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %clang_cc1 -fblocks -fsyntax-only -verify %s - -__block int x; // expected-error {{__block attribute not allowed, only allowed on local variables}} - -int x; _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
