[PATCH] D110280: [modules] Fix IRGen assertion on accessing ObjC ivar inside a method.

Volodymyr Sapsai via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 2 15:46:25 PST 2022


vsapsai added a comment.

In D110280#3289431 <https://reviews.llvm.org/D110280#3289431>, @SharonXu wrote:

> Hi @vsapsai, I checked out the apple `stable/20211026`  llvm-project branch at https://github.com/apple/llvm-project/tree/stable/20211026, and ran check-clang locally, but the tested added in the patch `clang/test/Modules/merge-objc-interface.m` failed with the error
>
>   clang: /home/sharonxu/local/apple_llvm_main/llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp:3457: uint64_t clang::ASTContext::lookupFieldBitOffset(const clang::ObjCInterfaceDecl*, const clang::ObjCImplementationDecl*, const clang::ObjCIvarDecl*) const: Assertion `Index < RL->getFieldCount() && "Ivar is not inside record layout!"' failed.
>
> Do you know what's going on? Any fix missing on the `stable/20211026` branch?
>
> Thanks!
> Sharon

My understanding is that failure is caused by the missing https://reviews.llvm.org/D106994 If I'm not mistaken, it's not on `next` and `stable/20211026` branches. Swift isn't happy with RecordDecl change, so I'm bringing it back by making https://reviews.llvm.org/D118855 change first (and relevant Swift changes). After that the plan is to re-land https://reviews.llvm.org/D106994 on `stable/20211026`. Meanwhile you can check if bringing it back fixes the tests locally.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110280/new/

https://reviews.llvm.org/D110280



More information about the cfe-commits mailing list