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.
23 lines
454 B
Objective-C
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"
|