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
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.
2015-10-23 23:09 GMT+02:00 Nicolas Cellier < nicolas.cellier.aka.nice@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
Hi,
On 28.10.2015, at 22:21, Nicolas Cellier nicolas.cellier.aka.nice@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 -Tobias
2015-10-23 23:09 GMT+02:00 Nicolas Cellier nicolas.cellier.aka.nice@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
2015-10-28 22:27 GMT+01:00 Tobias Pape Das.Linux@gmx.de:
Hi,
On 28.10.2015, at 22:21, Nicolas Cellier < nicolas.cellier.aka.nice@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.
As I said, I'm not sure about this one, this was a quick fix that I had to do to compile 64bits with clang 7.0... I just retried now and I see that this is due to a missing declaration MenuItemIndex outIndex; in primitiveGetIndMenuWithCommandID
It seems that the variable is declared, but only used in a cCode: verbatim insertion... Maybe modern CCodeGenerator does eliminate the variable as unused. So there might be a better fix :)
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?
I think that char pointers are OK for sqMacMidi.[cm] it's a pointer to
either ByteString or ByteArray data if we trust the comments. Maybe unsigned char *? In all cases, int is definitely an error for a 64bits VM.
And in all cases, thanks for reviewing!
Best regards -Tobias
2015-10-23 23:09 GMT+02:00 Nicolas Cellier <
nicolas.cellier.aka.nice@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
vm-dev@lists.squeakfoundation.org