[Vm-dev] [commit][3697] Turn ARC On for 64bit compiles, don't make MIDI, fix various issues with bridge and windowIndex for ARC, fix parseArgument data type warning

Eliot Miranda eliot.miranda at gmail.com
Fri May 6 22:16:25 UTC 2016


Hi All, but mainly for John,

> On May 6, 2016, at 2:18 PM, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
> 
> 
> 
> 2016-05-06 22:43 GMT+02:00 Eliot Miranda <eliot.miranda at gmail.com>:
>>  
>> Hi Nicolas,
>> 
>> 
>>> On May 6, 2016, at 12:42 PM, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
>>> 
>>> Strange...
>>> I've set the -fobjc-arc in build.macos32x86/common/Makefile.flags for months
>>> (along with same .m corrections as John) 
>>> and it looks like working...
>>> (at least clang does not bark).
>> 
>> Two questions, a) what version of clang do you have installed?  b) why didn't you try and push back the changes?
> Hi Eliot,
> 
> a) I update Xcode regularly but allways apply xcodelegacy immediately after each upgrade
>     (https://github.com/devernay/xcodelegacy)
> 
> clang --version
> Apple LLVM version 7.3.0 (clang-703.0.31)
> Target: x86_64-apple-darwin15.4.0
> Thread model: posix
> InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> 
> b) Nostalghia?
>   Precisely because it breaks compatibility with OSX 10.6.
>  ( I think I reported this in a vm-dev thread )
>   From time to time, I use an old MacMini with snow leopard that I won't upgrade.

That makes sense.  Thanks.  It was, um, tedious to fix the makefiles to differentiate between clang 7.3 (which wants -fobjc-weak) and earlier.  And personally I like to support as old an is version as possible, and 10.6 was ok for 32-bits so far.  Have you tried a 10.6 SDK 64-bit build on your 10.6.x MacMini?  

>   a Better reason:
>   The problems appeared after an upgrade of Xcode.
>   I'm enough an expert to understand C compiler errors, and search for a quick fix on the internet.
>   I'm not enough an expert of Mac to analyze the full impact of these changes...
> 
>  
>> Note that -fobjc-arc appeared (so John tells me) in 7.3.  I'm still using 6.0 and 7.0.
> 
>  Yes, fixing for one, breaking for another is not very fair.

John, I understand that we have to upgrade 64-but Mac OS X to the 10.7 SDK to get ARC.  But is there a good reason for upgrading the 32-bit compile to the 10.7 SDK, or would it be ok to keep using the 10.6 SDK for the 32-bit compile?


>>> Nicolas
>>> 
>>> 2016-05-05 21:54 GMT+02:00 John McIntosh <johnmci at smalltalkconsulting.com>:
>>>>  
>>>> ARC is not supported by the os-x 32bit legacy objective-C runtime kernel. 
>>>> 
>>>>> On Thu, May 5, 2016 at 12:23 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>>>>  
>>>>> Hi John,
>>>>> 
>>>>>> On Thu, May 5, 2016 at 10:57 AM, <commits at squeakvm.org> wrote:
>>>>>> 
>>>>>> Revision: 3697
>>>>>> Author:   johnmci
>>>>>> Date:     2016-05-05 10:57:28 -0700 (Thu, 05 May 2016)
>>>>>> Log Message:
>>>>>> -----------
>>>>>> Turn ARC On for 64bit compiles, don't make MIDI, fix various issues with bridge and windowIndex for ARC, fix parseArgument data type warning
>>>>> 
>>>>> Curious (ok, ignorant).  Why use ARC for 64-bits but weak for 32-bits?  WOup;don't it be better to go with one approach for both?  If ARC is the future why not change the 32-bit compile to ARC too?
>>>>>  
>>>>>  [snip]
>>>>>> Modified: branches/Cog/build.macos32x86/common/Makefile.flags
>>>>>> ===================================================================
>>>>>> --- branches/Cog/build.macos32x86/common/Makefile.flags 2016-05-05 17:18:10 UTC (rev 3696)
>>>>>> +++ branches/Cog/build.macos32x86/common/Makefile.flags 2016-05-05 17:57:28 UTC (rev 3697)
>>>>>> @@ -9,7 +9,7 @@
>>>>>>  SDKs:=MacOSX10.12.sdk MacOSX10.11.sdk MacOSX10.10.sdk MacOSX10.9.sdk
>>>>>>  SDK:=$(firstword $(realpath $(addprefix $(SDKsDIR)/, $(SDKs))))
>>>>>>  TARGET_ARCH:=i386
>>>>>> -TARGET_VERSION_MIN:=10.6
>>>>>> +TARGET_VERSION_MIN:=10.7
>>>>>> 
>>>>>>  CFLAGS:=$(CFLAGS) -DBUILD_FOR_OSX=1 \
>>>>>>                 -arch $(TARGET_ARCH) \
>>>>>> @@ -17,6 +17,7 @@
>>>>>>                         -fvisibility=default -fwrapv \
>>>>>>                         -fmacro-backtrace-limit=0 -fdiagnostics-show-note-include-stack \
>>>>>>                         -fmessage-length=0 -fpascal-strings -fasm-blocks -fstrict-aliasing \
>>>>>> +                       -fobjc-weak \
>>>>>>                 -isysroot $(SDK) \
>>>>>>                 -include $(PLATDIR)/iOS/vm/SqueakPureObjc_Prefix.pch
>>>>> [snip]
>>>>>> Modified: branches/Cog/build.macos64x64/common/Makefile.flags
>>>>>> ===================================================================
>>>>>> --- branches/Cog/build.macos64x64/common/Makefile.flags 2016-05-05 17:18:10 UTC (rev 3696)
>>>>>> +++ branches/Cog/build.macos64x64/common/Makefile.flags 2016-05-05 17:57:28 UTC (rev 3697)
>>>>>> @@ -9,7 +9,7 @@
>>>>>>  SDKs:=MacOSX10.12.sdk MacOSX10.11.sdk MacOSX10.10.sdk MacOSX10.9.sdk
>>>>>>  SDK:=$(firstword $(realpath $(addprefix $(SDKsDIR)/, $(SDKs))))
>>>>>>  TARGET_ARCH:=x86_64
>>>>>> -TARGET_VERSION_MIN:=10.6
>>>>>> +TARGET_VERSION_MIN:=10.7
>>>>>> 
>>>>>>  CFLAGS:=$(CFLAGS) -DBUILD_FOR_OSX=1 \
>>>>>>                 -arch $(TARGET_ARCH) \
>>>>>> @@ -17,6 +17,7 @@
>>>>>>                         -fvisibility=default -fwrapv \
>>>>>>                         -fmacro-backtrace-limit=0 -fdiagnostics-show-note-include-stack \
>>>>>>                         -fmessage-length=0 -fpascal-strings -fasm-blocks -fstrict-aliasing \
>>>>>> +                       -fobjc-arc \
>>>>>>                 -isysroot $(SDK) \
>>>>>>                 -include $(PLATDIR)/iOS/vm/SqueakPureObjc_Prefix.pch
>>>>> [snip] 
>>>>> 
>>>>> _,,,^..^,,,_
>>>>> best, Eliot
>>>> 
>>>> -- 
>>>> ===========================================================================
>>>> John M. McIntosh. Corporate Smalltalk Consulting Ltd https://www.linkedin.com/in/smalltalk
>>>> ===========================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160506/b6eb46f9/attachment-0001.htm


More information about the Vm-dev mailing list