[PATCH] D79072: [Analyzer][VLASizeChecker] Check VLA size in typedef and sizeof.

Gabor Marton via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed May 13 10:17:22 PDT 2020


martong accepted this revision.
martong added a comment.
Herald added a subscriber: rnkovacs.

In D79072#2026553 <https://reviews.llvm.org/D79072#2026553>, @balazske wrote:

> This change is relatively small and the refactoring like part (introduction of `checkVLA` if I think correct?) is connected to its use. The other change is add of a new function (callback). This is probably small enough to go into one change and we can see why the new function `checkVLA` is needed. So my vote is to not split this change.


Okay, you convinced me. LGTM!



================
Comment at: clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp:577
+  if (isa<TypedefNameDecl>(*DS->decl_begin())) {
+    ExplodedNodeSet DstPre;
+    getCheckerManager().runCheckersForPreStmt(DstPre, Pred, DS, *this);
----------------
balazske wrote:
> Should we not do something else with the VLA size expressions (not only call the checker callbacks) because they should be evaluated, are these handled in some other way automatically? (The CFG should contain these expressions already so these should be evaluated by the engine, and this place is only to make the checkers aware of `typedef` statements.)
Yeah, I agree with @balazske. This could be used for anything else in the future, not just for VLA. It is more generic than that.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79072





More information about the cfe-commits mailing list