[cfe-dev] Detecting ARC via #if(def)?

Ted Kremenek kremenek at apple.com
Mon Jun 13 09:25:42 PDT 2011


On Jun 13, 2011, at 9:14 AM, Eli Friedman wrote:

> On Mon, Jun 13, 2011 at 8:45 AM, marc hoffman <mh at elitedev.com> wrote:
>> i'm hoping this is not NDA-covered, but with LLV/Clang itself being open
>> source i assume it's not:
>> at WWDC i was told there is a functionality in clang/LLVM to check for
>> availability of specific features in general, and for whether the current
>> code is being compiled with ARC or not, specifically, via an #if(def) - the
>> goal being ro write a piece of code that can compile with and w/o ARC, by
>> #if(def)ing a handful of retain/release calls.
>> i was told this was well documented in the clang docs, but i've been unable
>> to find anything regarding this - is anyone here aware of this featyre (and
>> of the option to check for that represents ARC) and could point me into the
>> right direction?
> 
> ARC hasn't landed in the public repository yet.
> 
> In terms of feature ifdefs, see
> http://clang.llvm.org/docs/LanguageExtensions.html#feature_check .

Marc,

More specifically, you will be able to use:

  #ifdef __has_feature(objc_arc)

Cheers,
Ted



More information about the cfe-dev mailing list