Crash trying to compile with latest Apple compiler for iOS 64 bit


#1

I get an immediate crash when trying to compile the current JUCE git tree for iOS 64 bit.  It compiles ok for iOS 32 bit.

My compile flags are: -arch arm64 -mtune=native -fPIC -miphoneos-version-min=7.0

The clang version is Apple LLVM version 7.0.0 (clang-700.0.72)

 

Just to mention: 64-bit support is now required for iOS apps in the App Store.


#2

Reproduced on two different Macs, but both running the latest XCode w/ clang 7.0.0


#3

What's the actual crash?


#4

The compiler itself crashes, can't compile the code (I don't know where it's crashing - I tried changing optimization etc settings to no avail).


#5

Ah, I see. Sadly we can't fix that for you!


#6

Well, can you repro the situation?  I'm using the standard Juce code, and the standard XCode, but compiling for 64-bit iOS.  It used to work until I updated my code to the latest git (and Xcode to the latest).

If "it works for you" then it's somehow my problem; if it doesn't, it's *our* problem because you can't deploy on iOS any more if you don't support 64 bit.


#7

I managed to reproduce the issue, please do the following:

  1. You should remove -miphoneos-version-min=7.0 and just use the exporter setting the Introjucer provides for you.
  2. You shouldn't be specifying -arch arm64, Xcode handles this for you.

Hope this helps!


#8

Well... I'm not using the Introjuicer for my code.  OK, I'll try to see what the settings should be.

"-arch arm64" was always the correct setting before,  but anyway ...


#9

The problem bit is "-arch arm64".  If I remove that, it compiles; but it is not being compiled for 64-bit.  So this is an actual problem...


#10

Well well well

-mtune=native is the real problem.  It looks like Apple screwed up the target-specific tuning.  REmoving that works.