NoQ added a comment. Leak false-negatives that result from bugs in `Environment::removeDeadBindings()` and `RegionStoreManager::removeDeadBindings()` are also only appearing due to the overall zombie symbol problem we have (https://reviews.llvm.org/D18860). The bugs are in the code that populates the dead set, however the dead set shouldn't have existed in the first place.
Also the `if (s) {}` part of the `test_loc_as_integer_element_index_lifetime()` test case is vital because otherwise the symbol would turn into a zombie and there'd be no leak false positive. But by saying `if (s) {}` we're declaring that it is the constraint manager who is responsible for putting the symbol into the dead set. The same is true for the original test case (`test_region_referenced_only_through_field_in_store_value()`) but there we'd have the branching anyway because the test is also designed to show the infeasible path. https://reviews.llvm.org/D44347 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits