[PATCH] D30534: [analyzer] When creating a temporary object copy, properly copy the value into it.

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 22 04:54:24 PDT 2017


NoQ added inline comments.


================
Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:281
+  // Try to recover some path sensitivity in case we couldn't compute the value.
+  if (ExV.isUnknown())
+    ExV = getSValBuilder().conjureSymbolVal(Result, LC, Ex->getType(),
----------------
a.sidorin wrote:
> Should we do all these operations with ExV/Reg if the InitV is known? There is a FIXME but I think it is related to all this code, not to the bindLoc only. And what happens if we remove this code?
My bad: i overwrote `SVal` of `Result` above, and `Result` might have been equal to `Init`, which caused conflict between `InitV` and `ExV`.


https://reviews.llvm.org/D30534





More information about the cfe-commits mailing list