summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJani Monoses <jani@ubuntu.com>2012-02-03 22:11:08 +0200
committerJani Monoses <jani@ubuntu.com>2012-02-15 19:17:17 +0200
commit4e679ee2501a0babcdce498732d68428d46481e3 (patch)
tree073dfc26702b649548a2da54920bd2ef8048d530
parenta5384f5640dd9d571dff7663b0d69029fc6c2d82 (diff)
Simplify code and use proper register names for linux armhf
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx7
1 files changed, 2 insertions, 5 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
index 9502b871f500..ac8ca2361f38 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
@@ -152,11 +152,6 @@ namespace arm
void MapReturn(sal_uInt32 r0, sal_uInt32 r1, typelib_TypeDescriptionReference * pReturnType, sal_uInt32* pRegisterReturn)
{
-#if !defined(__ARM_EABI__) && !defined(__SOFTFP__)
- register float fret asm("f0");
- register double dret asm("f0");
-#endif
-
switch( pReturnType->eTypeClass )
{
case typelib_TypeClass_HYPER:
@@ -176,6 +171,7 @@ void MapReturn(sal_uInt32 r0, sal_uInt32 r1, typelib_TypeDescriptionReference *
#if !defined(__ARM_PCS_VFP) && (defined(__ARM_EABI__) || defined(__SOFTFP__))
pRegisterReturn[0] = r0;
#else
+ register float fret asm("s0");
*(float*)pRegisterReturn = fret;
#endif
break;
@@ -184,6 +180,7 @@ void MapReturn(sal_uInt32 r0, sal_uInt32 r1, typelib_TypeDescriptionReference *
pRegisterReturn[1] = r1;
pRegisterReturn[0] = r0;
#else
+ register double dret asm("d0");
*(double*)pRegisterReturn = dret;
#endif
break;