[clang] [clang][CodeComplete] Add code completion for if constexpr and consteval (PR #124315)

Nathan Ridge via cfe-commits cfe-commits at lists.llvm.org
Sat Mar 8 21:26:51 PST 2025


================
@@ -0,0 +1,26 @@
+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-PATTERN-CXX23: COMPLETION: Pattern : consteval {
+  // CHECK-PATTERN-CXX23: <#statements#>
+  // CHECK-PATTERN-CXX23: }
----------------
HighCommander4 wrote:

And likewise here:

```
  // CHECK-PATTERN-CXX23: COMPLETION: Pattern : constexpr (<#condition#>) {
  // CHECK-PATTERN-CXX23: <#statements#>
  // CHECK-PATTERN-CXX23: }
```

https://github.com/llvm/llvm-project/pull/124315


More information about the cfe-commits mailing list