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 <sberg...@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) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits