summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-10-26 11:45:52 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-10-26 11:45:52 (GMT)
commite4ee3699c48099c1fd5fb0762ab5f6dfb4bec83d (patch)
tree409a6102b98d0d738d9cf881b76e7c61d1fcd2e7
parent2d071521228a6bc9ef423cbdbbd8560d28208790 (diff)
parent20ff096f7928af788b6fdcce3e7de688120b060c (diff)
downloadQt-e4ee3699c48099c1fd5fb0762ab5f6dfb4bec83d.zip
Qt-e4ee3699c48099c1fd5fb0762ab5f6dfb4bec83d.tar.gz
Qt-e4ee3699c48099c1fd5fb0762ab5f6dfb4bec83d.tar.bz2
Merge branch 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: Remove qdrawhelper_arm_simd.cpp dependency to u32std.h
-rw-r--r--src/gui/painting/qdrawhelper_arm_simd.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/gui/painting/qdrawhelper_arm_simd.cpp b/src/gui/painting/qdrawhelper_arm_simd.cpp
index 61dac5e..2a5f5e4 100644
--- a/src/gui/painting/qdrawhelper_arm_simd.cpp
+++ b/src/gui/painting/qdrawhelper_arm_simd.cpp
@@ -47,7 +47,26 @@
#ifdef QT_HAVE_ARM_SIMD
#if defined(Q_OS_SYMBIAN)
-#include <u32std.h>
+#if !defined(__SWITCH_TO_ARM)
+#ifdef __MARM_THUMB__
+#ifndef __ARMCC__
+#define __SWITCH_TO_ARM asm("push {r0} ");\
+ asm("add r0, pc, #4 ");\
+ asm("bx r0 ");\
+ asm("nop ");\
+ asm(".align 2 ");\
+ asm(".code 32 ");\
+ asm("ldr r0, [sp], #4 ")
+#define __END_ARM asm(".code 16 ")
+#else
+#define __SWITCH_TO_ARM asm(".code 32 ");
+#define __END_ARM
+#endif // __ARMCC__
+#else
+#define __SWITCH_TO_ARM
+#define __END_ARM
+#endif //__MARM_THUMB__
+#endif
#endif
#if defined(Q_OS_SYMBIAN) && defined(Q_CC_RVCT)