summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2019-12-05 11:25:46 -0800
committerAdrian Prantl <aprantl@apple.com>2019-12-05 12:45:10 -0800
commita1a9aa17b4db08937e458cdda85327b9eff307df (patch)
tree1228ab2d33e935558a46ce57ae69136e9724b68d /clang/test/SemaObjC
parentd0b9ed5c490ef10e4af750720a65a6cc6ba41af2 (diff)
downloadbcm5719-llvm-a1a9aa17b4db08937e458cdda85327b9eff307df.tar.gz
bcm5719-llvm-a1a9aa17b4db08937e458cdda85327b9eff307df.zip
Set a source location for Objective-C accessor stubs
even when there is no explicit synthesize statement. This fixes a regression introduced in https://reviews.llvm.org/D68108 that could lead to missing debug locations in cleanup code in synthesized Objective-C++ properties. rdar://57630879 Differential Revision: https://reviews.llvm.org/D71084
Diffstat (limited to 'clang/test/SemaObjC')
-rw-r--r--clang/test/SemaObjC/default-synthesize-sourceloc.m23
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/default-synthesize-sourceloc.m b/clang/test/SemaObjC/default-synthesize-sourceloc.m
new file mode 100644
index 00000000000..bd549fff17c
--- /dev/null
+++ b/clang/test/SemaObjC/default-synthesize-sourceloc.m
@@ -0,0 +1,23 @@
+// RUN: %clang_cc1 -ast-dump %s | FileCheck %s
+
+// Test that accessor stubs for default-synthesized ObjC accessors
+// have a valid source location.
+
+__attribute__((objc_root_class))
+@interface NSObject
++ (id)alloc;
+@end
+
+@interface NSString : NSObject
+@end
+
+@interface MyData : NSObject
+struct Data {
+ NSString *name;
+};
+@property struct Data data;
+@end
+// CHECK: ObjCImplementationDecl {{.*}}line:[[@LINE+2]]{{.*}} MyData
+// CHECK: ObjCMethodDecl {{.*}}col:23 implicit - setData: 'void'
+@implementation MyData
+@end
OpenPOWER on IntegriCloud