diff options
Diffstat (limited to 'test/CodeGenObjC/constant-non-fragile-ivar-offset.m')
-rw-r--r-- | test/CodeGenObjC/constant-non-fragile-ivar-offset.m | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/CodeGenObjC/constant-non-fragile-ivar-offset.m b/test/CodeGenObjC/constant-non-fragile-ivar-offset.m new file mode 100644 index 0000000000..34c393d8ed --- /dev/null +++ b/test/CodeGenObjC/constant-non-fragile-ivar-offset.m @@ -0,0 +1,38 @@ +// RUN: %clang_cc1 -triple x86_64-apple-macosx10.14.0 -emit-llvm %s -o - | FileCheck %s + +// CHECK: @"OBJC_IVAR_$_StaticLayout.static_layout_ivar" = hidden constant i64 20 +// CHECK: @"OBJC_IVAR_$_NotStaticLayout.not_static_layout_ivar" = hidden global i64 12 + +@interface NSObject { + int these, will, never, change, ever; +} +@end + +@interface StaticLayout : NSObject +@end + +@implementation StaticLayout { + int static_layout_ivar; +} +-(void)meth { + static_layout_ivar = 0; + // CHECK-NOT: load i64, i64* @"OBJC_IVAR_$_StaticLayout +} +@end + +@interface NotNSObject { + int these, might, change; +} +@end + +@interface NotStaticLayout : NotNSObject +@end + +@implementation NotStaticLayout { + int not_static_layout_ivar; +} +-(void)meth { + not_static_layout_ivar = 0; + // CHECK: load i64, i64* @"OBJC_IVAR_$_NotStaticLayout.not_static_layout_ivar +} +@end |