brintos

brintos / llvm-project-archived public Read only

0
0
Text · 941 B · 6d9c617 Raw
35 lines · plain
1// RUN: %clang_cc1 -triple arm64e-apple-ios13.0 -debug-info-kind=standalone -fobjc-arc -fsanitize=nullability-return \2// RUN:   %s -emit-llvm -o - | FileCheck %s3 4@interface NSObject5+ (id)alloc;6@end7 8@interface NSString : NSObject9@end10 11// CHECK: define {{.*}}@"\01-[MyData setData:]"12// CHECK: [[DATA:%.*]] = alloca %struct.Data13// CHECK: call noundef ptr @_ZN4DataD1Ev(ptr {{[^,]*}} [[DATA]]){{.*}}, !dbg [[DATA_PROPERTY_LOC:![0-9]+]]14// CHECK-NEXT: ret void15 16// CHECK: define {{.*}}@"\01-[MyData string]"17// CHECK: call void @__ubsan_handle_nullability_return_v1_abort{{.*}}, !dbg [[STRING_PROPERTY_LOC:![0-9]+]]18// CHECK: ret19 20@interface MyData : NSObject21struct Data {22    NSString *name;23};24 25// CHECK-DAG: [[DATA_PROPERTY_LOC]] = !DILocation(line: [[@LINE+1]]26@property struct Data data;27 28// CHECK-DAG: [[STRING_PROPERTY_LOC]] = !DILocation(line: [[@LINE+1]]29@property (nonnull) NSString *string;30 31@end32 33@implementation MyData34@end35