dcoughlin marked 2 inline comments as done.
dcoughlin added inline comments.


================
Comment at: lib/StaticAnalyzer/Checkers/GTestChecker.cpp:30
+//
+// The gtest unit testing API provides macros for assertions that that expand
+// into an if statement that calls a series of constructors and returns
----------------
a.sidorin wrote:
> "that that"
Thanks!


================
Comment at: lib/StaticAnalyzer/Checkers/GTestChecker.cpp:182
+
+  SVal ThisSuccess = getAssertionResultSuccessFieldValue(AssertResultClassDecl,
+                                                         ThisVal, State);
----------------
a.sidorin wrote:
> Shouldn't we just bind OtherSuccess to our field?
Unfortunately since this is a PostCall, the result of the constructor has 
already entered value land. It is a LazyCompoundValue with a reference to a 
previous store. Even if we look through the lazy compound value to get at the 
memory region, binding it in the current store will have no effect on the 
returned value.

We could perform the bind and load the result value again -- but then we'd have 
to replace the result value in the environment, which is not compositional with 
respect to other checkers' PostCalls, since they may have done their own thing 
with the old value.


https://reviews.llvm.org/D27773



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to