[PATCH] D14277: [Analyzer] Make referenced SymbolMetadata live even if its region is dead
Jordan Rose via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 3 15:40:03 PST 2015
jordan_rose added a comment.
The intent here was that a metadata symbol represents //metadata about a region.// That means if the region is dead, and the symbol isn't directly referenceable, we won't be able to recreate it. The advantage of `&&` was that checkers didn't have to track when regions were no longer live.
Of course, the example shows that a symbol doesn't have to be directly referenceable to be used, so it didn't exactly pan out. But making this change without a corresponding change to every checker using metadata symbols (in-tree, just CStringChecker) means that those checkers will now keep the symbols alive forever. (And if we wanted to do that, we wouldn't have to use `markInUse`; just `markLive`.)
I think this needs a little more thought.
Repository:
rL LLVM
http://reviews.llvm.org/D14277
More information about the cfe-commits
mailing list