After I complained about it a few days ago, I figured I'd take a stab at fixing this:
[@"abc" release]; // should warn! But because we have a real region type for ObjCStringLiterals, rather than an opaque SymbolicRegion, there's no associated symbol. One fix for this is to forget that they're string literals and just conjure a symbol like any other ObjC object; the only way ObjCStringRegions are used is that they're known to be non-null. I don't like this, though, cause it seems like at SOME point we're going to want typed regions to be trackable. This patch attaches a MetadataSymbol to each ObjCStringLiteral and uses that for RetainCountChecker. I don't like /this/ because it can't track the liveness of the string literal, and thus the symbol never gets collected. Going to try to see if I can do it more "on demand", rather than any time we see an ObjCStringLiteral expression, but thought I'd stop for feedback. Is this a good direction to go in? Jordy
ObjCStringLiterals.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
