LibreOffice Module bridges (master) 1
Namespaces | Macros | Functions
gcc3_linux_hppa/uno2cpp.cxx File Reference
#include <malloc.h>
#include <rtl/alloc.h>
#include <com/sun/star/uno/genfunc.hxx>
#include <com/sun/star/uno/Exception.hpp>
#include "com/sun/star/uno/RuntimeException.hpp"
#include <o3tl/runtimetooustring.hxx>
#include <uno/data.h>
#include <bridge.hxx>
#include <types.hxx>
#include <unointerfaceproxy.hxx>
#include <vtables.hxx>
#include "share.hxx"
#include <exception>
#include <stdio.h>
#include <string.h>
#include <typeinfo>
Include dependency graph for gcc3_linux_hppa/uno2cpp.cxx:

Go to the source code of this file.

Namespaces

namespace  hppa
 
namespace  bridges
 
namespace  bridges::cpp_uno
 
namespace  bridges::cpp_uno::shared
 

Macros

#define INSERT_INT32(pSV, nr, pGPR, pDS, bOverflow)
 
#define INSERT_INT64(pSV, nr, pGPR, pDS, pStart, bOverflow)
 
#define INSERT_FLOAT(pSV, nr, pFPR, pDS, bOverflow)
 
#define INSERT_DOUBLE(pSV, nr, pFPR, pDS, pStart, bOverflow)
 
#define INSERT_INT16(pSV, nr, pGPR, pDS, bOverflow)
 
#define INSERT_INT8( pSV, nr, pGPR, pDS, bOverflow)
 

Functions

void callVirtualMethod (void *pThis, sal_uInt32 nVtableIndex, void *pRegisterReturn, typelib_TypeDescription *pReturnTypeDescr, bool bRegisterReturn, sal_uInt32 *pStack, sal_uInt32 nStack, sal_uInt32 *pGPR, double *pFPR)
 
bool hppa::is_complex_struct (const typelib_TypeDescription *type)
 
bool hppa::isRegisterReturn (typelib_TypeDescriptionReference *pTypeRef)
 
void bridges::cpp_uno::shared::unoInterfaceProxyDispatch (uno_Interface *pUnoI, const typelib_TypeDescription *pMemberDescr, void *pReturn, void *pArgs[], uno_Any **ppException)
 

Macro Definition Documentation

◆ INSERT_DOUBLE

#define INSERT_DOUBLE (   pSV,
  nr,
  pFPR,
  pDS,
  pStart,
  bOverflow 
)
Value:
if ( (nr < hppa::MAX_WORDS_IN_REGS) && (nr % 2) ) \
{ \
++nr; \
} \
{ \
sal_uInt32 *pDouble = (sal_uInt32 *)&(pFPR[nr+1]); \
pDouble[0] = *reinterpret_cast<sal_uInt32 *>( pSV ); \
pDouble[1] = *(reinterpret_cast<sal_uInt32 *>( pSV ) + 1); \
nr+=2; \
} \
else \
bOverflow = true; \
if ( bOverflow ) \
{ \
if ( (pDS - pStart) % 2) \
++pDS; \
*pDS++ = reinterpret_cast<sal_uInt32 *>( pSV )[1]; \
*pDS++ = reinterpret_cast<sal_uInt32 *>( pSV )[0]; \
}

Definition at line 88 of file gcc3_linux_hppa/uno2cpp.cxx.

◆ INSERT_FLOAT

#define INSERT_FLOAT (   pSV,
  nr,
  pFPR,
  pDS,
  bOverflow 
)
Value:
{ \
sal_uInt32 *pDouble = (sal_uInt32 *)&(pFPR[nr++]); \
pDouble[0] = *reinterpret_cast<sal_uInt32 *>( pSV ); \
} \
else \
bOverflow = true; \
if (bOverflow) \
*pDS++ = *reinterpret_cast<sal_uInt32 *>( pSV );

Definition at line 77 of file gcc3_linux_hppa/uno2cpp.cxx.

◆ INSERT_INT16

#define INSERT_INT16 (   pSV,
  nr,
  pGPR,
  pDS,
  bOverflow 
)
Value:
pGPR[nr++] = *reinterpret_cast<sal_uInt16 *>( pSV ); \
else \
bOverflow = true; \
if (bOverflow) \
*pDS++ = *reinterpret_cast<sal_uInt16 *>( pSV );

Definition at line 110 of file gcc3_linux_hppa/uno2cpp.cxx.

◆ INSERT_INT32

#define INSERT_INT32 (   pSV,
  nr,
  pGPR,
  pDS,
  bOverflow 
)
Value:
{ \
pGPR[nr++] = *reinterpret_cast<sal_uInt32 *>( pSV ); \
} \
else \
bOverflow = true; \
if (bOverflow) \
*pDS++ = *reinterpret_cast<sal_uInt32 *>( pSV );

Definition at line 47 of file gcc3_linux_hppa/uno2cpp.cxx.

◆ INSERT_INT64

#define INSERT_INT64 (   pSV,
  nr,
  pGPR,
  pDS,
  pStart,
  bOverflow 
)
Value:
if ( (nr < hppa::MAX_WORDS_IN_REGS) && (nr % 2) ) \
{ \
++nr; \
} \
{ \
pGPR[nr++] = *reinterpret_cast<sal_uInt32 *>( pSV ); \
pGPR[nr++] = *(reinterpret_cast<sal_uInt32 *>( pSV ) + 1); \
} \
else \
bOverflow = true; \
if ( bOverflow ) \
{ \
if ( (pDS - pStart) % 2) \
++pDS; \
*pDS++ = reinterpret_cast<sal_uInt32 *>( pSV )[1]; \
*pDS++ = reinterpret_cast<sal_uInt32 *>( pSV )[0]; \
}

Definition at line 57 of file gcc3_linux_hppa/uno2cpp.cxx.

◆ INSERT_INT8

#define INSERT_INT8 (   pSV,
  nr,
  pGPR,
  pDS,
  bOverflow 
)
Value:
pGPR[nr++] = *reinterpret_cast<sal_uInt8 *>( pSV ); \
else \
bOverflow = true; \
if (bOverflow) \
*pDS++ = *reinterpret_cast<sal_uInt8 *>( pSV );
unsigned char sal_uInt8

Definition at line 118 of file gcc3_linux_hppa/uno2cpp.cxx.

Function Documentation

◆ callVirtualMethod()

void callVirtualMethod ( void *  pThis,
sal_uInt32  nVtableIndex,
void *  pRegisterReturn,
typelib_TypeDescription pReturnTypeDescr,
bool  bRegisterReturn,
sal_uInt32 *  pStack,
sal_uInt32  nStack,
sal_uInt32 *  pGPR,
double *  pFPR 
)

Definition at line 89 of file gcc3_linux_hppa/call.cxx.

References __asm__(), i, MapReturn(), hppa::MAX_GPR_REGS, and hppa::MAX_SSE_REGS.