[clang] [static analyzer] Fix crash on parenthesized expression in assume attribute (PR #151682)

Balazs Benics via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 1 03:46:04 PDT 2025


================
@@ -0,0 +1,15 @@
+// RUN: %clang_analyze_cc1 -std=c++23 -analyzer-checker=cplusplus -verify %s
+// expected-no-diagnostics
+
+template <int ...args>
+bool issue151529()
+{
+  [[assume (((args >= 0) && ...))]];
+  return ((args >= 0) && ...);
+}
+
+int main() {
+    issue151529();
+    [[assume((true))]]; // crash
+    return 0;
+}
----------------
steakhal wrote:

```suggestion
template <int ...args>
bool issue151529() {
  [[assume((true))]]; // no-crash
  [[assume(((args >= 0) && ...))]]; // no-crash
  return ((args >= 0) && ...);
}
void instantiate_issue151529() {
  issue151529();
}
```

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


More information about the cfe-commits mailing list