[clang] [ObjC] Check entire chain of superclasses to see if class has fixed offsets (PR #81335)

via cfe-commits cfe-commits at lists.llvm.org
Sat Feb 10 13:33:43 PST 2024


AtariDreams wrote:

> Okay, your description of the change here is very misleading; it doesn't even mention that this is specific to having an `@implementation` for every intermediate class.
> 
> Your test seems completely inadequate — you need to test that we're doing the static layout properly, and you need to test with ivars coming from a variety of different places, including:
> 
> * ivars declared in the `@interface`
> * ivars declared in the `@implementation`
> * ivars synthesized explicitly in the `@implementation`
> * vars synthesized implicitly in the `@implementation`

So this is a way to check for static linked; if the compiler can see the @implementation, right?

Only then can we "opt-out" of the non-fragile ABI like NSObject and its subclasses do, right? 



https://github.com/llvm/llvm-project/pull/81335


More information about the cfe-commits mailing list