aboutsummaryrefslogtreecommitdiff
path: root/clang/test/CodeCompletion/if-const.cpp
blob: 4839798faf719c7ba18c7ea28e5517d647bd3ea3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
template <bool Flag>
void test() {
  if constexpr (Flag) {
    return;
  }
  // RUN: %clang_cc1 -fsyntax-only -std=c++17 -code-completion-at=%s:3:7 %s | FileCheck -check-prefix=CHECK-CXX17 %s
  // RUN: %clang_cc1 -fsyntax-only -std=c++17 -code-completion-patterns -code-completion-at=%s:3:7 %s | FileCheck -check-prefix=CHECK-PATTERN-CXX17 %s
  // RUN: %clang_cc1 -fsyntax-only -std=c++23 -code-completion-at=%s:3:7 %s | FileCheck -check-prefix=CHECK-CXX23 %s
  // RUN: %clang_cc1 -fsyntax-only -std=c++23 -code-completion-patterns -code-completion-at=%s:3:7 %s | FileCheck -check-prefix=CHECK-PATTERN-CXX23 %s
  // CHECK-CXX17: COMPLETION: constexpr
  // CHECK-PATTERN-CXX17: COMPLETION: Pattern : constexpr (<#condition#>) {
  // CHECK-PATTERN-CXX17: <#statements#>
  // CHECK-PATTERN-CXX17: }
  // CHECK-CXX23: COMPLETION: consteval
  // CHECK-CXX23: COMPLETION: constexpr
  // CHECK-PATTERN-CXX23: COMPLETION: Pattern : consteval {
  // CHECK-PATTERN-CXX23: <#statements#>
  // CHECK-PATTERN-CXX23: }
  // CHECK-PATTERN-CXX23: COMPLETION: Pattern : constexpr (<#condition#>) {
  // CHECK-PATTERN-CXX23: <#statements#>
  // CHECK-PATTERN-CXX23: }
  if !c
  // RUN: %clang_cc1 -fsyntax-only -std=c++23 -code-completion-at=%s:22:8 %s -o - | FileCheck -check-prefix=CHECK-CXX23-EXCLAIM %s
  // RUN: %clang_cc1 -fsyntax-only -std=c++23 -code-completion-patterns -code-completion-at=%s:22:8 %s -o - | FileCheck -check-prefix=CHECK-PATTERN-CXX23-EXCLAIM %s
  // CHECK-CXX23-EXCLAIM: COMPLETION: consteval
  // CHECK-CXX23-EXCLAIM-NOT: constexpr
  // CHECK-PATTERN-CXX23-EXCLAIM: COMPLETION: Pattern : consteval {
  // CHECK-PATTERN-CXX23-EXCLAIM: <#statements#>
  // CHECK-PATTERN-CXX23-EXCLAIM: }
}