iOS: Disable usage of crc32 intrinsics.

To quote http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160222/151168.html :

> AArch64: fix Cyclone CPU features list.
> It turns out we don't have CRC after all. Who knew?

So clang did define __ARM_FEATURE_CRC32, while the CPU didn't support
the crc32 instructions, resulting in EXC_BAD_INSTRUCTION.

Change-Id: I4b0123ac5e7fd04696c05bfe7dacce205cffac8f
Task-number: QTBUG-51168
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
This commit is contained in:
Erik Verbruggen 2016-02-25 10:11:23 +01:00 committed by Tor Arne Vestbø
parent 15ddb7f841
commit 27a2a02559

View File

@ -267,6 +267,13 @@
# endif
#endif
// Clang compiler fix, see http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160222/151168.html
// This should be tweaked with an "upper version" of clang once we know which release fixes the
// issue. At that point we can rely on __ARM_FEATURE_CRC32 again.
#if defined(Q_CC_CLANG) && defined(Q_OS_DARWIN) && defined (__ARM_FEATURE_CRC32)
# undef __ARM_FEATURE_CRC32
#endif
// NEON intrinsics
// note: as of GCC 4.9, does not support function targets for ARM
#if defined(__ARM_NEON) || defined(__ARM_NEON__)