xref: /aosp_15_r20/external/clang/test/Index/complete-ctor-inits.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // The run lines are below, because this test is line- and
2*67e74705SXin Li // column-number sensitive.
3*67e74705SXin Li 
4*67e74705SXin Li template<typename T>
5*67e74705SXin Li struct X {
6*67e74705SXin Li   X(T);
7*67e74705SXin Li };
8*67e74705SXin Li 
9*67e74705SXin Li struct Virt { };
10*67e74705SXin Li struct Y : virtual Virt { };
11*67e74705SXin Li 
12*67e74705SXin Li struct Z : public X<int>, public Y {
13*67e74705SXin Li   Z();
14*67e74705SXin Li 
15*67e74705SXin Li   int a, b, c;
16*67e74705SXin Li };
17*67e74705SXin Li 
Z()18*67e74705SXin Li Z::Z() : ::X<int>(0), Virt(), b(), c() { }
19*67e74705SXin Li 
20*67e74705SXin Li struct PR23948 {
PR23948PR2394821*67e74705SXin Li   template<class size> PR23948()
22*67e74705SXin Li         :
23*67e74705SXin Li   {}
24*67e74705SXin Li 
invalidPR2394825*67e74705SXin Li   template<class size> void invalid()
26*67e74705SXin Li         :
27*67e74705SXin Li   {}
28*67e74705SXin Li 
29*67e74705SXin Li   int a;
30*67e74705SXin Li };
31*67e74705SXin Li 
32*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:18:10 %s | FileCheck -check-prefix=CHECK-CC1 %s
33*67e74705SXin Li // CHECK-CC1: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
34*67e74705SXin Li // CHECK-CC1: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )} (35)
35*67e74705SXin Li // CHECK-CC1: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (35)
36*67e74705SXin Li // CHECK-CC1: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )} (35)
37*67e74705SXin Li // CHECK-CC1: NotImplemented:{TypedText X<int>}{LeftParen (}{Placeholder args}{RightParen )} (7)
38*67e74705SXin Li // CHECK-CC1: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (35)
39*67e74705SXin Li 
40*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:18:23 %s | FileCheck -check-prefix=CHECK-CC2 %s
41*67e74705SXin Li // CHECK-CC2: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
42*67e74705SXin Li // CHECK-CC2: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )} (35)
43*67e74705SXin Li // CHECK-CC2: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (35)
44*67e74705SXin Li // CHECK-CC2: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )} (35)
45*67e74705SXin Li // CHECK-CC2: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (7)
46*67e74705SXin Li 
47*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:18:36 %s | FileCheck -check-prefix=CHECK-CC3 %s
48*67e74705SXin Li // CHECK-CC3: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (35)
49*67e74705SXin Li // CHECK-CC3-NOT: MemberRef:{TypedText b}{LeftParen (}{Placeholder args}{RightParen )}
50*67e74705SXin Li // CHECK-CC3: MemberRef:{TypedText c}{LeftParen (}{Placeholder args}{RightParen )} (7)
51*67e74705SXin Li // CHECK-CC3-NOT: NotImplemented:{TypedText Virt}{LeftParen (}{Placeholder args}{RightParen )}
52*67e74705SXin Li // CHECK-CC3: NotImplemented:{TypedText Y}{LeftParen (}{Placeholder args}{RightParen )} (35)
53*67e74705SXin Li 
54*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:22:10 -target i386-apple-darwin %s | FileCheck -check-prefix=CHECK-CC4 %s
55*67e74705SXin Li // CHECK-CC4: MemberRef:{TypedText a}{LeftParen (}{Placeholder args}{RightParen )} (7)
56*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:26:10 %s
57