1 struct Base1 {
Base1Base12   Base1() : {}
3   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:2:12 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
4   // CHECK-CC1: COMPLETION: Pattern : member1(<#args#>)
5   // CHECK-CC1: COMPLETION: Pattern : member2(<#args#>
6 
Base1Base17   Base1(int) : member1(123), {}
8   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:7:30 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s
9   // CHECK-CC2-NOT: COMPLETION: Pattern : member1(<#args#>)
10   // CHECK-CC2: COMPLETION: Pattern : member2(<#args#>
11 
12   int member1;
13   float member2;
14 };
15 
16 struct Derived : public Base1 {
17   Derived();
18   Derived(int);
19   Derived(float);
20   int deriv1;
21 };
22 
Derived()23 Derived::Derived() : {}
24 // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:23:22 %s -o - | FileCheck -check-prefix=CHECK-CC3 %s
25 // CHECK-CC3: COMPLETION: Pattern : Base1(<#args#>)
26 // CHECK-CC3: COMPLETION: Pattern : deriv1(<#args#>)
27 
Derived(int)28 Derived::Derived(int) try : {
29 } catch (...) {
30 }
31 // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:28:29 %s -o - | FileCheck -check-prefix=CHECK-CC4 %s
32 // CHECK-CC4: COMPLETION: Pattern : Base1(<#args#>)
33 // CHECK-CC4: COMPLETION: Pattern : deriv1(<#args#>)
34 
Derived(float)35 Derived::Derived(float) try : Base1(),
36 {
37 } catch (...) {
38 }
39 // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:35:39 %s -o - | FileCheck -check-prefix=CHECK-CC5 %s
40 // CHECK-CC5-NOT: COMPLETION: Pattern : Base1(<#args#>)
41 // CHECK-CC5: COMPLETION: Pattern : deriv1(<#args#>)
42