================ @@ -0,0 +1,39 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s +// expected-no-diagnostics + +constexpr int increment(int& x) { + x++; + return x; +} + +constexpr int test_clzg_0() { + int x = 0; + [[maybe_unused]] int unused = __builtin_clzg(0U, increment(x)); + return x; +} + +static_assert(test_clzg_0() == 1); + +constexpr int test_clzg_1() { + int x = 0; + [[maybe_unused]] int unused = __builtin_clzg(1U, increment(x)); + return x; +} + +static_assert(test_clzg_1() == 1); + +constexpr int test_ctzg_0() { + int x = 0; + [[maybe_unused]] int unused = __builtin_ctzg(0U, increment(x)); + return x; +} + +static_assert(test_ctzg_0() == 1); + +constexpr int test_ctzg_1() { + int x = 0; + [[maybe_unused]] int unused = __builtin_ctzg(1U, increment(x)); ---------------- overmighty wrote:
I can omit `[[maybe_unused]]` but not the whole `[[maybe_unused]] int unused =` part unless I add `// expected-warning ...` comments: ``` ~/projects/llvm-project clang-constexpr-builtin-clzg-ctzg-fix* ➜ cmake --build build --target check-clang-sema [0/1] Running lit suite /home/overmighty/projects/llvm-project/clang/test/Sema llvm-lit: /home/overmighty/projects/llvm-project/llvm/utils/lit/lit/llvm/config.py:502: note: using clang: /home/overmighty/projects/llvm-project/build/bin/clang FAIL: Clang :: Sema/constant-builtins-all-args-evaluated.cpp (950 of 981) ******************** TEST 'Clang :: Sema/constant-builtins-all-args-evaluated.cpp' FAILED ******************** Exit Code: 1 Command Output (stderr): -- RUN: at line 1: /home/overmighty/projects/llvm-project/build/bin/clang -cc1 -internal-isystem /home/overmighty/projects/llvm-project/build/lib/clang/19/include -nostdsysteminc -fsyntax-only -verify /home/overmighty/projects/llvm-project/clang/test/Sema/constant-builtins-all-args-evaluated.cpp + /home/overmighty/projects/llvm-project/build/bin/clang -cc1 -internal-isystem /home/overmighty/projects/llvm-project/build/lib/clang/19/include -nostdsysteminc -fsyntax-only -verify /home/overmighty/projects/llvm-project/clang/test/Sema/constant-builtins-all-args-evaluated.cpp error: 'expected-warning' diagnostics seen but not expected: File /home/overmighty/projects/llvm-project/clang/test/Sema/constant-builtins-all-args-evaluated.cpp Line 11: ignoring return value of function declared with const attribute File /home/overmighty/projects/llvm-project/clang/test/Sema/constant-builtins-all-args-evaluated.cpp Line 19: ignoring return value of function declared with const attribute File /home/overmighty/projects/llvm-project/clang/test/Sema/constant-builtins-all-args-evaluated.cpp Line 27: ignoring return value of function declared with const attribute File /home/overmighty/projects/llvm-project/clang/test/Sema/constant-builtins-all-args-evaluated.cpp Line 35: ignoring return value of function declared with const attribute 4 errors generated. -- ******************** ******************** Failed Tests (1): Clang :: Sema/constant-builtins-all-args-evaluated.cpp Testing Time: 12.72s Total Discovered Tests: 981 Unsupported: 88 (8.97%) Passed : 892 (90.93%) Failed : 1 (0.10%) FAILED: tools/clang/test/CMakeFiles/check-clang-sema /home/overmighty/projects/llvm-project/build/tools/clang/test/CMakeFiles/check-clang-sema cd /home/overmighty/projects/llvm-project/build/tools/clang/test && /usr/bin/python3.11 /home/overmighty/projects/llvm-project/build/./bin/llvm-lit -sv --param USE_Z3_SOLVER=0 /home/overmighty/projects/llvm-project/clang/test/Sema ninja: build stopped: subcommand failed. ~/projects/llvm-project clang-constexpr-builtin-clzg-ctzg-fix* ➜ ``` https://github.com/llvm/llvm-project/pull/86742 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits