Files
llvm-project/clang/test/CodeGenObjC/ivar-layout-array0-struct.m
cooperp c54f1ed3db Move the ObjC layout bitmap to the cstring section. (#174705)
Currently the layout bitmap is emitted as a "class name" but its not
actually a name at all. This moves the bitmap to the regular cstring
section for now.

In Apple, our linker and other tools try to optimize sections such as
objc strings. As layout bitmaps aren't really strings at all, they block
some optimizations. We don't currently try to optimize sections such as
cstring, which is why that is the section i used here for now.
2026-01-20 10:04:20 -08:00

23 lines
454 B
Objective-C

// REQUIRES: x86-registered-target
// RUN: %clang_cc1 -fobjc-gc -triple x86_64-apple-darwin -fobjc-runtime=macosx-fragile-10.5 -S %s -o %t-64.s
// RUN: FileCheck -check-prefix CHECK-LP64 --input-file=%t-64.s %s
@interface NSObject {
id isa;
}
@end
typedef struct {
id b;
} st;
@interface Test : NSObject {
int a;
st b[0];
}
@end
@implementation Test @end
// CHECK-LP64: L_OBJC_LAYOUT_BITMAP_:
// CHECK-LP64-NEXT: .asciz "\001\020"