These ports which previously failed to build with clang-i386 use their private copies of the qsimd_p.h header, since this private header is not installed at all (which, in turns, makes the PORTREVISION bump in qt4-corelib quite useless). We thus need to add a copy of the same patch to all these ports to make sure the qsim_p.h they use when being built is actually the one we want. Hopefully this gets miwi happy and people on clang-i386 can build these ports again.
35 lines
1.5 KiB
Text
35 lines
1.5 KiB
Text
commit ccd1b2ee01c193cd157978c1f9f08f87d0f9c94b
|
|
Author: Raphael Kubo da Costa <rakuco@FreeBSD.org>
|
|
Date: Fri May 10 01:40:23 2013 +0300
|
|
|
|
Check that 3DNow! instructions are supported before including mm3dnow.h.
|
|
|
|
Include mm3dnow.h the way we already include the (S)SSE{3,4} and AVX
|
|
instruction headers: by checking that the compiler is set to support those
|
|
instructions besides verifying that QT_HAVE_3DNOW evalues to true (which
|
|
only means the compiler supported them when the build was being configured).
|
|
|
|
This has not caused a problem in most cases so far because GCC protects its
|
|
mm3dnow.h header with an #ifdef __3dNOW__ (contrary to what it does on, say,
|
|
pmmintrin.h). clang's mm3dnow.h, on the other hand, does not have that check
|
|
and can fail if -march is set to, for example, i386 or i486.
|
|
|
|
Not backported from qt5 because qtbase because qsimd_p.h does not include
|
|
the 3DNow! headers after commit a1b30b49ef09bef2e97b9a0622bf7ad622678fee.
|
|
|
|
Change-Id: I15ab5e936c71c55f89c3f25777ab27fbd262e9cd
|
|
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h
|
|
index 87e26e1..6a32e8f 100644
|
|
--- ./src/corelib/tools/qsimd_p.h
|
|
+++ ./src/corelib/tools/qsimd_p.h
|
|
@@ -199,7 +199,7 @@ QT_BEGIN_HEADER
|
|
#endif
|
|
|
|
// 3D now intrinsics
|
|
-#if defined(QT_HAVE_3DNOW)
|
|
+#if defined(QT_HAVE_3DNOW) && (defined(__3dNOW__) || defined(Q_CC_MSVC))
|
|
#include <mm3dnow.h>
|
|
#endif
|
|
|