[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-15 Thread Phabricator via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rL325282: [analyzer] Compute the correct this-region for temporary destructors. (authored by dergachev, committed by ).

[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-15 Thread Phabricator via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rC325282: [analyzer] Compute the correct this-region for temporary destructors. (authored by dergachev, committed by ).

[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-14 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ updated this revision to Diff 134351. NoQ added a comment. Whoops - recall that we still need to cleanup the temporaries map even, now that we know that we cannot assert that it's already empty. Clean up the map and enable the assertion that becomes tautological until the respective FIXME

[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-14 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ updated this revision to Diff 134341. NoQ added a comment. All right, so the assertion that we actually destroy all temporaries in our `InitializedTemporaries` map is still violated quite often - every time we do any sort of lifetime extension, we're actually calling the destructor on a

[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-12 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ updated this revision to Diff 133956. NoQ added a comment. - Test `const C = coin ? C(x, y) : C(z, w);`. - Fix comments surrounding the assertion. https://reviews.llvm.org/D43104 Files: include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h lib/StaticAnalyzer/Core/CallEvent.cpp

[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-09 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ updated this revision to Diff 133672. NoQ marked an inline comment as done. NoQ added a comment. Assert that the destructors are cleaned up. This assertion is pretty important because it says that we didn't miss any destructors for initialized temporaries during analysis. Disable tracking

[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-08 Thread Devin Coughlin via Phabricator via cfe-commits
dcoughlin added inline comments. Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:939 std::make_pair(D.getBindTemporaryExpr(), Pred->getStackFrame())); +// *MRPtr may still be null when the construction context for the temporary +// was not implemented.

[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-08 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added inline comments. Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:68-71 typedef llvm::ImmutableMap -CXXNewAllocatorValuesMap; + const LocationContext *>, + SVal> +

[PATCH] D43104: [analyzer] Find correct region for simple temporary destructor calls and inline them if possible.

2018-02-08 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ created this revision. NoQ added reviewers: dcoughlin, xazax.hun, a.sidorin, george.karpenkov, szepet. Herald added subscribers: cfe-commits, rnkovacs. NoQ added inline comments. Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:68-71 typedef llvm::ImmutableMap