thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "HIRANO Satoshi (Commented) (JIRA)" <>
Subject [jira] [Commented] (THRIFT-1340) Add support of ARC to Objective-C
Date Mon, 26 Dec 2011 03:20:31 GMT


HIRANO Satoshi commented on THRIFT-1340:

Thanks, Jake. I will write a wiki page after holidays.
> Add support of ARC to Objective-C
> ---------------------------------
>                 Key: THRIFT-1340
>                 URL:
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Cocoa - Compiler, Cocoa - Library
>    Affects Versions: 0.7
>         Environment: Mac OS X Lion, iOS 4.2, 4.3, 5.0..
>            Reporter: HIRANO Satoshi
>            Assignee: HIRANO Satoshi
>             Fix For: 0.9
>         Attachments: THRIFT-0.8.0-dev_cocoa_ARC.patch
>   Original Estimate: 24h
>  Remaining Estimate: 24h
> Objective-C in Xcode 4.2 supports ARC (Automatic Reference Counting, not GC but similar)
and now it is the default both on OS X Lion and iOS 5. (ARC works on iOS 4.2 or higher.)
> The conventional Objective-C code includes many retain/release/autorelease for maintaining
 the life time of objects.
> Since the latest Objective-C compiler automatically generates stubs for reference counting,
code should not include any retain/release/autorelease.
> Many Mac OS/iOS projects are moving to ARC mode. Although we can specify a compiler flag
which tells ARC or no-ARC file by file in Xcode 4.2, there is no means to tell the Xcode that
files generated by the thrift compiler are no-ARC. Xcode produces many error messages like
"retain is not allowed in ARC mode". 
> So, the thrift compiler should support ARC mode.
> What we need are:
> 1) add -objc-arc flag to the thrift compiler.
> 2) If -objc-arc flag exists, omit generating code for retain/release/autorelease.
> Please look at "Programming with ARC reference notes" in iOS developer library.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message