xref: /minix3/external/bsd/llvm/dist/clang/test/Index/complete-ctor-inits.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // The run lines are below, because this test is line- and
2*f4a2713aSLionel Sambuc // column-number sensitive.
3*f4a2713aSLionel Sambuc 
4*f4a2713aSLionel Sambuc template<typename T>
5*f4a2713aSLionel Sambuc struct X {
6*f4a2713aSLionel Sambuc   X(T);
7*f4a2713aSLionel Sambuc };
8*f4a2713aSLionel Sambuc 
9*f4a2713aSLionel Sambuc struct Virt { };
10*f4a2713aSLionel Sambuc struct Y : virtual Virt { };
11*f4a2713aSLionel Sambuc 
12*f4a2713aSLionel Sambuc struct Z : public X<int>, public Y {
13*f4a2713aSLionel Sambuc   Z();
14*f4a2713aSLionel Sambuc 
15*f4a2713aSLionel Sambuc   int a, b, c;
16*f4a2713aSLionel Sambuc };
17*f4a2713aSLionel Sambuc 
Z()18*f4a2713aSLionel Sambuc Z::Z() : ::X<int>(0), Virt(), b(), c() { }
19*f4a2713aSLionel Sambuc 
20*f4a2713aSLionel Sambuc // RUN: c-index-test -code-completion-at=%s:18:10 %s | FileCheck -check-prefix=CHECK-CC1 %s
21*f4a2713aSLionel Sambuc // CHECK-CC1: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
22*f4a2713aSLionel Sambuc // CHECK-CC1: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )} (35)
23*f4a2713aSLionel Sambuc // CHECK-CC1: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (35)
24*f4a2713aSLionel Sambuc // CHECK-CC1: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )} (35)
25*f4a2713aSLionel Sambuc // CHECK-CC1: NotImplemented:{TypedText X<int>}{LeftParen (}{Placeholder args}{RightParen )} (7)
26*f4a2713aSLionel Sambuc // CHECK-CC1: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (35)
27*f4a2713aSLionel Sambuc 
28*f4a2713aSLionel Sambuc // RUN: c-index-test -code-completion-at=%s:18:23 %s | FileCheck -check-prefix=CHECK-CC2 %s
29*f4a2713aSLionel Sambuc // CHECK-CC2: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
30*f4a2713aSLionel Sambuc // CHECK-CC2: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )} (35)
31*f4a2713aSLionel Sambuc // CHECK-CC2: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (35)
32*f4a2713aSLionel Sambuc // CHECK-CC2: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )} (35)
33*f4a2713aSLionel Sambuc // CHECK-CC2: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (7)
34*f4a2713aSLionel Sambuc 
35*f4a2713aSLionel Sambuc // RUN: c-index-test -code-completion-at=%s:18:36 %s | FileCheck -check-prefix=CHECK-CC3 %s
36*f4a2713aSLionel Sambuc // CHECK-CC3: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
37*f4a2713aSLionel Sambuc // CHECK-CC3-NOT: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )}
38*f4a2713aSLionel Sambuc // CHECK-CC3: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (7)
39*f4a2713aSLionel Sambuc // CHECK-CC3-NOT: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )}
40*f4a2713aSLionel Sambuc // CHECK-CC3: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (35)
41