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 %s 3 4@interface NSObject 5+ (id)alloc; 6@end 7 8@interface NSString : NSObject 9@end 10 11// CHECK: define {{.*}}@"\01-[MyData setData:]" 12// CHECK: [[DATA:%.*]] = alloca %struct.Data 13// CHECK: call %struct.Data* @_ZN4DataD1Ev(%struct.Data* {{[^,]*}} [[DATA]]){{.*}}, !dbg [[DATA_PROPERTY_LOC:![0-9]+]] 14// CHECK-NEXT: ret void 15 16// CHECK: define {{.*}}@"\01-[MyData string]" 17// CHECK: call void @__ubsan_handle_nullability_return_v1_abort{{.*}}, !dbg [[STRING_PROPERTY_LOC:![0-9]+]] 18// CHECK: ret 19 20@interface MyData : NSObject 21struct 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@end 32 33@implementation MyData 34@end 35