[PATCH] D80286: [Analyzer] Allow creation of stack frame for functions without definition

Balogh, Ádám via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed May 20 03:45:34 PDT 2020


baloghadamsoftware marked 2 inline comments as done.
baloghadamsoftware added a comment.

I tested this on several open-source projects: BitCoin, CURL, OpenSLL, PostGreS, TMux, Xerces and even on LLVM itself with most of the projects enabled. No new crash and no change in findings. So it seems to be stable.



================
Comment at: clang/lib/StaticAnalyzer/Core/CallEvent.cpp:179
-  // situation because there's a loss of precision anyway because we cannot
-  // inline the call.
-  RuntimeDefinition RD = getRuntimeDefinition();
----------------
We introduced `ParamRegion`s to overcome this, but please provide me the tests that crash when deleting these lines without `ParamRegions` you mentioned D49443#1193290.


================
Comment at: clang/test/Analysis/temporaries.cpp:893
     glob = 1;
-    // FIXME: Why is destructor not inlined in C++17
     clang_analyzer_checkInlined(true);
 #ifdef TEMPORARY_DTORS
----------------
I wonder whether `clang_analyzer_checkInlined()` works correctly with this patch: it seems it only checks for stack frame which now any function with definition can have.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80286





More information about the cfe-commits mailing list