[Vm-dev] objc prefix header macros

Tobias Pape Das.Linux at gmx.de
Wed Oct 28 21:27:59 UTC 2015


On 28.10.2015, at 22:21, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:

> Just in case, I put a copy here of the changes I had to perform for El Capitan/clang 7.0 with ARC enabled.
> These are diffs from svn 3478 (svn patch compatible).
> The one concerning the commented TARGET_API_MAC_CARBON is questionable - it should probably be conditional (#ifdef something...). If the patch is applied as is, the macro should be defined in the command line for compiling legacy Mac Carbon VM.

Caution, TARGET_API_MAC_CARBON  is used in several places in the vm to
distinguish pre-Carbon OS 9,8,… and Carbon OS X. It also applies to some
cocoa-OK code.

also, your patch does several
- int SomePtr
+ char* SomePtr
I think this is dangerous. Do we really know these are char pointers?
Also, if we have to know these are integerlike things, what about intptr_t here?

Best regards

> 2015-10-23 23:09 GMT+02:00 Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>:
> In platforms/iOS/vm/SqueakPureObjc_Prefix.pch, shouldn't the macros be defined
> #if ...
> #define RELEASEOBJ(x)
> #else
> #define RELEASEOBJ(x) [x release]
> #endif
> same for autorelease and retain
> because I currently have compilation errors with ARC enabled and clang 7.0
> It also seems that #define SUPERDEALLOC is missing in the ARC  branch.
> Thanks

More information about the Vm-dev mailing list