================
@@ -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

Reply via email to