| struct Base1 { |
| Base1() : {} |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:2:12 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s |
| // RUN: %clang_cc1 -fsyntax-only -std=c++14 -code-completion-at=%s:2:12 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s |
| // CHECK-CC1: COMPLETION: Pattern : member1(<#args#>) |
| // CHECK-CC1: COMPLETION: Pattern : member2(<#args#> |
| |
| Base1(int) : member1(123), {} |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:8:30 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s |
| // RUN: %clang_cc1 -fsyntax-only -std=c++14 -code-completion-at=%s:8:30 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s |
| // CHECK-CC2-NOT: COMPLETION: Pattern : member1(<#args#>) |
| // CHECK-CC2: COMPLETION: Pattern : member2(<#args#> |
| |
| int member1; |
| float member2; |
| }; |
| |
| struct Derived : public Base1 { |
| Derived(); |
| Derived(int); |
| Derived(float); |
| int deriv1; |
| }; |
| |
| Derived::Derived() : {} |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:25:22 %s -o - | FileCheck -check-prefix=CHECK-CC3 %s |
| // RUN: %clang_cc1 -fsyntax-only -std=c++14 -code-completion-at=%s:25:22 %s -o - | FileCheck -check-prefix=CHECK-CC3 %s |
| // CHECK-CC3: COMPLETION: Pattern : Base1(<#args#>) |
| // CHECK-CC3: COMPLETION: Pattern : deriv1(<#args#>) |
| |
| Derived::Derived(int) try : { |
| } catch (...) { |
| } |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:31:29 %s -o - | FileCheck -check-prefix=CHECK-CC4 %s |
| // RUN: %clang_cc1 -fsyntax-only -std=c++14 -code-completion-at=%s:31:29 %s -o - | FileCheck -check-prefix=CHECK-CC4 %s |
| // CHECK-CC4: COMPLETION: Pattern : Base1(<#args#>) |
| // CHECK-CC4: COMPLETION: Pattern : deriv1(<#args#>) |
| |
| Derived::Derived(float) try : Base1(), |
| { |
| } catch (...) { |
| } |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:39:39 %s -o - | FileCheck -check-prefix=CHECK-CC5 %s |
| // RUN: %clang_cc1 -fsyntax-only -std=c++14 -code-completion-at=%s:39:39 %s -o - | FileCheck -check-prefix=CHECK-CC5 %s |
| // CHECK-CC5-NOT: COMPLETION: Pattern : Base1(<#args#>) |
| // CHECK-CC5: COMPLETION: Pattern : deriv1(<#args#>) |
| |
| struct A { |
| A() : , member2() {} |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:49:9 %s -o - | FileCheck -check-prefix=CHECK-CC6 %s |
| // RUN: %clang_cc1 -fsyntax-only -std=c++14 -code-completion-at=%s:49:9 %s -o - | FileCheck -check-prefix=CHECK-CC6 %s |
| // CHECK-CC6: COMPLETION: Pattern : member1(<#args#> |
| int member1, member2; |
| }; |
| |
| struct B { |
| B() : member2() {} |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:57:9 %s -o - | FileCheck -check-prefix=CHECK-CC7 %s |
| // RUN: %clang_cc1 -fsyntax-only -std=c++14 -code-completion-at=%s:57:9 %s -o - | FileCheck -check-prefix=CHECK-CC7 %s |
| // CHECK-CC7: COMPLETION: Pattern : member1(<#args#> |
| // Check in the middle and at the end of identifier too. |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:57:13 %s -o - | FileCheck -check-prefix=CHECK-CC8 %s |
| // RUN: %clang_cc1 -fsyntax-only -std=c++98 -code-completion-at=%s:57:16 %s -o - | FileCheck -check-prefix=CHECK-CC8 %s |
| // CHECK-CC8: COMPLETION: Pattern : member2(<#args#> |
| int member1, member2; |
| }; |