diff options
Diffstat (limited to 'clang/test/CodeGenObjC')
-rw-r--r-- | clang/test/CodeGenObjC/ubsan-check-debuglocs.m | 30 |
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]]; + }]; +} |