[Libreoffice-commits] core.git: bridges/source

Stephan Bergmann sbergman at redhat.com
Mon Mar 30 07:48:13 PDT 2015


 bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx |   76 +++++++++++--------
 1 file changed, 45 insertions(+), 31 deletions(-)

New commits:
commit 72927f810ac2e6343a2fe78c39c286104ef80d9e
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Mar 30 16:47:25 2015 +0200

    Turn macros into functions
    
    Change-Id: I390fc815c32fa0eeeabf4d80a17bc4deedad2d2c

diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
index 205d776..d5cf312 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
@@ -40,7 +40,9 @@
 
 using namespace ::com::sun::star::uno;
 
-// Macros for easier insertion of values to registers or stack
+namespace {
+
+// Functions for easier insertion of values to registers or stack
 // pSV - pointer to the source
 // nr - order of the value [will be increased if stored to register]
 // pFPR, pGPR - pointer to the registers
@@ -48,38 +50,50 @@ using namespace ::com::sun::star::uno;
 
 // The value in %xmm register is already prepared to be retrieved as a float,
 // thus we treat float and double the same
-#define INSERT_FLOAT_DOUBLE( pSV, nr, pFPR, pDS ) \
-    if ( nr < x86_64::MAX_SSE_REGS ) \
-        pFPR[nr++] = *reinterpret_cast<double *>( pSV ); \
-    else \
-        *pDS++ = *reinterpret_cast<sal_uInt64 *>( pSV ); // verbatim!
-
-#define INSERT_INT64( pSV, nr, pGPR, pDS ) \
-    if ( nr < x86_64::MAX_GPR_REGS ) \
-        pGPR[nr++] = *reinterpret_cast<sal_uInt64 *>( pSV ); \
-    else \
-        *pDS++ = *reinterpret_cast<sal_uInt64 *>( pSV );
-
-#define INSERT_INT32( pSV, nr, pGPR, pDS ) \
-    if ( nr < x86_64::MAX_GPR_REGS ) \
-        pGPR[nr++] = *reinterpret_cast<sal_uInt32 *>( pSV ); \
-    else \
-        *pDS++ = *reinterpret_cast<sal_uInt32 *>( pSV );
-
-#define INSERT_INT16( pSV, nr, pGPR, pDS ) \
-    if ( nr < x86_64::MAX_GPR_REGS ) \
-        pGPR[nr++] = *reinterpret_cast<sal_uInt16 *>( pSV ); \
-    else \
-        *pDS++ = *reinterpret_cast<sal_uInt16 *>( pSV );
-
-#define INSERT_INT8( pSV, nr, pGPR, pDS ) \
-    if ( nr < x86_64::MAX_GPR_REGS ) \
-        pGPR[nr++] = *reinterpret_cast<sal_uInt8 *>( pSV ); \
-    else \
-        *pDS++ = *reinterpret_cast<sal_uInt8 *>( pSV );
+void INSERT_FLOAT_DOUBLE(
+    void const * pSV, sal_uInt32 & nr, double * pFPR, sal_uInt64 *& pDS)
+{
+    if ( nr < x86_64::MAX_SSE_REGS )
+        pFPR[nr++] = *static_cast<double const *>( pSV );
+    else
+        *pDS++ = *static_cast<sal_uInt64 const *>( pSV ); // verbatim!
+}
 
+void INSERT_INT64(
+    void const * pSV, sal_uInt32 & nr, sal_uInt64 * pGPR, sal_uInt64 *& pDS)
+{
+    if ( nr < x86_64::MAX_GPR_REGS )
+        pGPR[nr++] = *static_cast<sal_uInt64 const *>( pSV );
+    else
+        *pDS++ = *static_cast<sal_uInt64 const *>( pSV );
+}
 
-namespace {
+void INSERT_INT32(
+    void const * pSV, sal_uInt32 & nr, sal_uInt64 * pGPR, sal_uInt64 *& pDS)
+{
+    if ( nr < x86_64::MAX_GPR_REGS )
+        pGPR[nr++] = *static_cast<sal_uInt32 const *>( pSV );
+    else
+        *pDS++ = *static_cast<sal_uInt32 const *>( pSV );
+}
+
+void INSERT_INT16(
+    void const * pSV, sal_uInt32 & nr, sal_uInt64 * pGPR, sal_uInt64 *& pDS)
+{
+    if ( nr < x86_64::MAX_GPR_REGS )
+        pGPR[nr++] = *static_cast<sal_uInt16 const *>( pSV );
+    else
+        *pDS++ = *static_cast<sal_uInt16 const *>( pSV );
+}
+
+void INSERT_INT8(
+    void const * pSV, sal_uInt32 & nr, sal_uInt64 * pGPR, sal_uInt64 *& pDS)
+{
+    if ( nr < x86_64::MAX_GPR_REGS )
+        pGPR[nr++] = *static_cast<sal_uInt8 const *>( pSV );
+    else
+        *pDS++ = *static_cast<sal_uInt8 const *>( pSV );
+}
 
 void appendCString(OUStringBuffer & buffer, char const * text) {
     if (text != 0) {


More information about the Libreoffice-commits mailing list