philsquared/Catch — Issue #64: Support for ARC
Author: hajimehoshi
Created: 2011-12-19 18:15:28+00:00
State: open

I tried to use Catch with my project including ARC (Automatic Reference Counting), but I couldn't compile that. I would appreciate if you implemented Catch to support for ARC.

```
In file included from Catch/include/catch.hpp:34:
Catch/include/internal/catch_objc.hpp:57:22: error: call to unavailable function 'class_createInstance': not available in automatic reference counting mode
id obj = class_createInstance( m_cls, 0 );
^~~~~~~~~~~~~~~~~~~~
/usr/include/objc/runtime.h:188:16: note: candidate function has been explicitly made unavailable
OBJC_EXPORT id class_createInstance(Class cls, size_t extraBytes)
^
In file included from src/main_test.cpp:2:
In file included from Catch/include/catch.hpp:34:
Catch/include/internal/catch_objc.hpp:58:19: error: no known instance method for selector 'init'
obj = [obj init];
^~~~~~~~~~
Catch/include/internal/catch_objc.hpp:60:17: error: no known instance method for selector 'respondsToSelector:'
if( [obj respondsToSelector: @selector(setUp) ] )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Catch/include/internal/catch_objc.hpp:61:17: error: no known instance method for selector 'performSelector:'
[obj performSelector: @selector(setUp)];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Catch/include/internal/catch_objc.hpp:63:17: error: no known instance method for selector 'respondsToSelector:'
if( [obj respondsToSelector: m_sel] )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Catch/include/internal/catch_objc.hpp:64:17: error: no known instance method for selector 'performSelector:'
[obj performSelector: m_sel];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Catch/include/internal/catch_objc.hpp:66:17: error: no known instance method for selector 'respondsToSelector:'
if( [obj respondsToSelector: @selector(tearDown) ] )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Catch/include/internal/catch_objc.hpp:67:17: error: no known instance method for selector 'performSelector:'
[obj performSelector: @selector(tearDown)];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Catch/include/internal/catch_objc.hpp:69:13: error: no known instance method for selector 'release'
[obj release];
```