szepet added inline comments.

================
Comment at: lib/StaticAnalyzer/Checkers/MisusedMovedObjectChecker.cpp:426
+
+    State = State->remove<TrackedRegionMap>(WholeObjectRegion);
     C.addTransition(State);
----------------
szepet wrote:
> I am wondering if I made a mistake but I think this should be 
> removeFromState() function call. (We should remove every marked subregions of 
> the object too.)
> So I suspect a code like this would result a false positive:
> ```
> struct A{
> B b;
> void clear();
> };
> 
> void test(){
> A a;
> B b = std::move(a.b);
> a.clear();
> b = std::move(a); //report a bug
> }
> ```
> 
> I mean it is probably a report we do not want to have.
Shame on the test file writer that he does not covered this, though. ^^


https://reviews.llvm.org/D31538



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

Reply via email to