From 7a083cc0b52df31fe9348f7e09eaf6d9e72bdb13 Mon Sep 17 00:00:00 2001 From: Jani Hautakangas Date: Mon, 25 Oct 2010 12:17:26 +0300 Subject: Remove qdrawhelper_arm_simd.cpp dependency to u32std.h Reviewed-by: Shane Kearns --- src/gui/painting/qdrawhelper_arm_simd.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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 +#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) -- cgit v0.12