Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.7
    • Fix Version/s: 0.9
    • Labels:
      None
    • Environment:

      Mac OS X Lion, iOS 4.2, 4.3, 5.0..

      Description

      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.

      http://andpdas.com/wp-content/uploads/2011/06/ARCProgrammingGuide.pdf

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                hirano-s@aist.go.jp HIRANO Satoshi
                Reporter:
                hirano-s@aist.go.jp HIRANO Satoshi
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 24h
                  24h
                  Remaining:
                  Remaining Estimate - 24h
                  24h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified