summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGenObjC')
-rw-r--r--clang/test/CodeGenObjC/ubsan-check-debuglocs.m30
1 files changed, 30 insertions, 0 deletions
diff --git a/clang/test/CodeGenObjC/ubsan-check-debuglocs.m b/clang/test/CodeGenObjC/ubsan-check-debuglocs.m
new file mode 100644
index 00000000000..d85c8e83e11
--- /dev/null
+++ b/clang/test/CodeGenObjC/ubsan-check-debuglocs.m
@@ -0,0 +1,30 @@
+// RUN: %clang_cc1 -emit-llvm -fblocks -debug-info-kind=limited \
+// RUN: -fsanitize=nullability-return %s -o - | FileCheck %s
+
+// Check that santizer check calls have a !dbg location.
+// CHECK: call void {{.*}}@__ubsan_handle_nullability_return_v1_abort
+// CHECK-SAME: !dbg
+
+@protocol NSObject
+@end
+
+@interface NSObject<NSObject> {}
+@end
+
+#pragma clang assume_nonnull begin
+@interface NSString : NSObject
++ (instancetype)stringWithFormat:(NSString *)format, ...;
+@end
+
+@interface NSIndexPath : NSObject {}
+@end
+#pragma clang assume_nonnull end
+
+@interface B : NSObject
+@end
+id foo(NSIndexPath *indexPath) {
+ return [B withBlock:^{
+ return [NSString stringWithFormat:@"%ld",
+ (long)[indexPath indexAtPosition:1]];
+ }];
+}
OpenPOWER on IntegriCloud