summaryrefslogtreecommitdiff
path: root/bridges
diff options
context:
space:
mode:
Diffstat (limited to 'bridges')
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
index a22ac393b5f7..001384e005fc 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
@@ -187,24 +187,32 @@ static void MapReturn(sal_uInt32 r0, sal_uInt32 r1, typelib_TypeDescriptionRefer
#if !defined(__ARM_PCS_VFP) && (defined(__ARM_EABI__) || defined(__SOFTFP__))
pRegisterReturn[0] = r0;
#else
+#if defined __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wuninitialized"
+#endif
register float fret asm("s0");
*reinterpret_cast<float *>(pRegisterReturn) = fret;
+#if defined __clang__
#pragma clang diagnostic pop
#endif
+#endif
break;
case typelib_TypeClass_DOUBLE:
#if !defined(__ARM_PCS_VFP) && (defined(__ARM_EABI__) || defined(__SOFTFP__))
pRegisterReturn[1] = r1;
pRegisterReturn[0] = r0;
#else
+#if defined __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wuninitialized"
+#endif
register double dret asm("d0");
*reinterpret_cast<double *>(pRegisterReturn) = dret;
+#if defined __clang__
#pragma clang diagnostic pop
#endif
+#endif
break;
case typelib_TypeClass_STRUCT:
case typelib_TypeClass_EXCEPTION: