summaryrefslogtreecommitdiffstats
path: root/clang/test/Index/usrs.m
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-04-20 23:15:40 +0000
committerTed Kremenek <kremenek@apple.com>2010-04-20 23:15:40 +0000
commit6d159c1060f953aff48066111d48c7ce8e43b54b (patch)
tree80ab2d3c7e406aea258df91b22a733b13ef5ecc6 /clang/test/Index/usrs.m
parent926d86089f2f2dd6b2d0dcb7b91559a2a1c92a4b (diff)
downloadbcm5719-llvm-6d159c1060f953aff48066111d48c7ce8e43b54b.tar.gz
bcm5719-llvm-6d159c1060f953aff48066111d48c7ce8e43b54b.zip
Fix USRs for 'extern' variables declaration in functions/method bodies.
Fix USRs for @synthesize. Add more USR tests. llvm-svn: 101954
Diffstat (limited to 'clang/test/Index/usrs.m')
-rw-r--r--clang/test/Index/usrs.m74
1 files changed, 74 insertions, 0 deletions
diff --git a/clang/test/Index/usrs.m b/clang/test/Index/usrs.m
new file mode 100644
index 00000000000..28771aebc1d
--- /dev/null
+++ b/clang/test/Index/usrs.m
@@ -0,0 +1,74 @@
+// RUN: c-index-test -test-load-source-usrs all %s | FileCheck %s
+
+enum {
+ ABA,
+ CADABA
+};
+
+enum {
+ FOO,
+ BAR
+};
+
+typedef struct {
+ int wa;
+ int moo;
+} MyStruct;
+
+enum Pizza {
+ CHEESE,
+ MUSHROOMS
+};
+
+@interface Foo {
+ id x;
+ id y;
+}
+- (id) godzilla;
++ (id) kingkong;
+@property int d1;
+@end
+
+@implementation Foo
+- (id) godzilla {
+ static int a = 0;
+ extern int z;
+ return 0;
+}
++ (id) kingkong {
+ return 0;
+}
+@synthesize d1;
+@end
+
+int z;
+
+// CHECK: usrs.m c:@Ea@usrs.m@3:1 Extent=[3:1 - 6:2]
+// CHECK: usrs.m c:@Ea@usrs.m@3:1@ABA Extent=[4:3 - 4:6]
+// CHECK: usrs.m c:@Ea@usrs.m@3:1@CADABA Extent=[5:3 - 5:9]
+// CHECK: usrs.m c:@Ea@usrs.m@8:1 Extent=[8:1 - 11:2]
+// CHECK: usrs.m c:@Ea@usrs.m@8:1@FOO Extent=[9:3 - 9:6]
+// CHECK: usrs.m c:@Ea@usrs.m@8:1@BAR Extent=[10:3 - 10:6]
+// CHECK: usrs.m c:@SA@MyStruct Extent=[13:9 - 16:2]
+// CHECK: usrs.m c:@SA@MyStruct@FI@wa Extent=[14:7 - 14:9]
+// CHECK: usrs.m c:@SA@MyStruct@FI@moo Extent=[15:7 - 15:10]
+// CHECK: usrs.m c:@T@usrs.m@16:3@MyStruct Extent=[16:3 - 16:11]
+// CHECK: usrs.m c:@E@Pizza Extent=[18:1 - 21:2]
+// CHECK: usrs.m c:@E@Pizza@CHEESE Extent=[19:3 - 19:9]
+// CHECK: usrs.m c:@E@Pizza@MUSHROOMS Extent=[20:3 - 20:12]
+// CHECK: usrs.m c:objc(cs)Foo Extent=[23:1 - 30:5]
+// CHECK: usrs.m c:objc(cs)Foo@x Extent=[24:6 - 24:7]
+// CHECK: usrs.m c:objc(cs)Foo@y Extent=[25:6 - 25:7]
+// CHECK: usrs.m c:objc(cs)Foo(py)d1 Extent=[29:15 - 29:17]
+// CHECK: usrs.m c:objc(cs)Foo(im)godzilla Extent=[27:1 - 27:17]
+// CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[28:1 - 28:17]
+// CHECK: usrs.m c:objc(cs)Foo(im)d1 Extent=[29:15 - 29:17]
+// CHECK: usrs.m c:objc(cs)Foo(im)setD1: Extent=[29:15 - 29:17]
+// CHECK: usrs.m c:objc(cs)Foo Extent=[32:1 - 42:2]
+// CHECK: usrs.m c:objc(cs)Foo(im)godzilla Extent=[33:1 - 37:2]
+// CHECK: usrs.m c:@z Extent=[35:10 - 35:15]
+// CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[38:1 - 40:2]
+// CHECK: usrs.m c:objc(cs)Foo@d1 Extent=[41:13 - 41:15]
+// CHECK: usrs.m c:objc(cs)Foo(py)d1 Extent=[41:1 - 41:15]
+// CHECK: usrs.m c:@z Extent=[44:1 - 44:6]
+
OpenPOWER on IntegriCloud