[PATCH] D55869: Convert some ObjC retain/release msgSends to runtime calls

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 20 14:55:58 PST 2018

rjmccall added a comment.

In D55869#1338003 <https://reviews.llvm.org/D55869#1338003>, @theraven wrote:

> This should be fine for the GNUstep runtime (the GCC runtime doesn't support ARC at all).  My main concern is that it will break already-released versions of the runtime built with a newer version of clang.  I can easily enable a new flag in the next release, but doing so for older ones is more problematic.

Well, it won't break as long as you don't tell the compiler that this is an acceptable rewrite to do.  I'm not sure there's a perfect way to stage this if/when you start thinking about enabling that — you can of course start passing the "don't rewrite message sends" flag in new releases of GNUstep, but it'll always be *possible* that someone might use a newer Clang to compile an older version of the runtime that doesn't do that workaround.  On the other hand, the brokenness of the result will not be subtle.



More information about the cfe-commits mailing list