[PATCH] D136162: [analyzer] Fix assertion failure with conflicting prototype calls

Tomasz KamiƄski via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 20 08:33:24 PDT 2022


tomasz-kaminski-sonarsource added inline comments.


================
Comment at: clang/lib/StaticAnalyzer/Core/CallEvent.cpp:490
+    // edge-cases.
+    ArgVal = castArgToParamTypeIfNeeded(Call, Idx, ArgVal, SVB);
+
----------------
Previously we didng make bindings if `ArgVal` was unknown, and we may want to preserve this invariant.


================
Comment at: clang/test/Analysis/region-store.c:66
+  // expected-warning at +1 {{passing arguments to 'b' without a prototype is deprecated in all versions of C and is not supported in C2x}}
+  b(&buffer);
+}
----------------
I would like to see an example where the called function is implicitly defined.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136162/new/

https://reviews.llvm.org/D136162



More information about the cfe-commits mailing list