blob: 96f36b65e3d0cfc797f0551c5a00cf242fcc9b6c [file] [log] [blame]
Douglas Gregorfdce48b2010-08-29 19:20:21 +00001// The run lines are below, because this test is line- and
2// column-number sensitive.
3
4template<typename T>
5struct X {
6 X(T);
7};
8
9struct Virt { };
10struct Y : virtual Virt { };
11
12struct Z : public X<int>, public Y {
13 Z();
14
15 int a, b, c;
16};
17
Douglas Gregor99129ef2010-08-29 19:27:27 +000018Z::Z() : ::X<int>(0), Virt(), b(), c() { }
Douglas Gregorfdce48b2010-08-29 19:20:21 +000019
Benjamin Kramer3cfdf202015-07-10 11:37:54 +000020struct PR23948 {
21 template<class size> PR23948()
22 :
23 {}
24
25 template<class size> void invalid()
26 :
27 {}
28
29 int a;
30};
31
Douglas Gregorfdce48b2010-08-29 19:20:21 +000032// RUN: c-index-test -code-completion-at=%s:18:10 %s | FileCheck -check-prefix=CHECK-CC1 %s
Douglas Gregor0787b322010-10-19 00:03:23 +000033// CHECK-CC1: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
34// CHECK-CC1: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )} (35)
35// CHECK-CC1: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (35)
36// CHECK-CC1: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )} (35)
Douglas Gregor99129ef2010-08-29 19:27:27 +000037// CHECK-CC1: NotImplemented:{TypedText X<int>}{LeftParen (}{Placeholder args}{RightParen )} (7)
Douglas Gregor0787b322010-10-19 00:03:23 +000038// CHECK-CC1: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (35)
Douglas Gregorfdce48b2010-08-29 19:20:21 +000039
40// RUN: c-index-test -code-completion-at=%s:18:23 %s | FileCheck -check-prefix=CHECK-CC2 %s
Douglas Gregor0787b322010-10-19 00:03:23 +000041// CHECK-CC2: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
42// CHECK-CC2: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )} (35)
43// CHECK-CC2: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (35)
44// CHECK-CC2: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )} (35)
Douglas Gregor99129ef2010-08-29 19:27:27 +000045// CHECK-CC2: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (7)
46
47// RUN: c-index-test -code-completion-at=%s:18:36 %s | FileCheck -check-prefix=CHECK-CC3 %s
Douglas Gregor0787b322010-10-19 00:03:23 +000048// CHECK-CC3: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
Douglas Gregorf3af3112010-09-09 21:42:20 +000049// CHECK-CC3-NOT: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )}
50// CHECK-CC3: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (7)
Douglas Gregor99129ef2010-08-29 19:27:27 +000051// CHECK-CC3-NOT: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )}
Douglas Gregor0787b322010-10-19 00:03:23 +000052// CHECK-CC3: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (35)
Benjamin Kramer3cfdf202015-07-10 11:37:54 +000053
Benjamin Kramer0429b7a2015-07-10 13:04:41 +000054// RUN: c-index-test -code-completion-at=%s:22:10 -target i386-apple-darwin %s | FileCheck -check-prefix=CHECK-CC4 %s
Benjamin Kramer3cfdf202015-07-10 11:37:54 +000055// CHECK-CC4: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (7)
56// RUN: c-index-test -code-completion-at=%s:26:10 %s