[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
----------------
HighCommander4 wrote:
Could you add:
```
// CHECK-CXX23: COMPLETION: constexpr
```
as well? This expresses the intent that in C++23 mode, we should get both, not just `consteval`.
https://github.com/llvm/llvm-project/pull/124315
More information about the cfe-commits
mailing list