summaryrefslogtreecommitdiff
path: root/bridges
diff options
context:
space:
mode:
authorsb <sb@openoffice.org>2010-02-08 09:18:14 +0100
committersb <sb@openoffice.org>2010-02-08 09:18:14 +0100
commit10ddd5251072599a6d1b598dc861d6dc31babf13 (patch)
treec4e156dc578d285501399eee97303d759035f497 /bridges
parenta55d2f6a21a5068a43241f73dd0cadbe28ae6774 (diff)
parentcb6dc8c0cbadd25385d581c0dd3583afc10fd26a (diff)
sb118: merged in DEV300_m71
Diffstat (limited to 'bridges')
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_s390/except.cxx6
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_s390x/cpp2uno.cxx10
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx6
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx10
4 files changed, 19 insertions, 13 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_s390/except.cxx b/bridges/source/cpp_uno/gcc3_linux_s390/except.cxx
index 0d49d0b95a74..eaf9566c54b9 100644
--- a/bridges/source/cpp_uno/gcc3_linux_s390/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_s390/except.cxx
@@ -137,8 +137,8 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR
OUString const & unoName = *(OUString const *)&pTypeDescr->aBase.pTypeName;
MutexGuard guard( m_mutex );
- t_rtti_map::const_iterator iFind( m_rttis.find( unoName ) );
- if (iFind == m_rttis.end())
+ t_rtti_map::const_iterator iRttiFind( m_rttis.find( unoName ) );
+ if (iRttiFind == m_rttis.end())
{
// RTTI symbol
OStringBuffer buf( 64 );
@@ -202,7 +202,7 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR
}
else
{
- rtti = iFind->second;
+ rtti = iRttiFind->second;
}
return rtti;
diff --git a/bridges/source/cpp_uno/gcc3_linux_s390x/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_s390x/cpp2uno.cxx
index e866e05f32c5..7e169993e905 100644
--- a/bridges/source/cpp_uno/gcc3_linux_s390x/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_s390x/cpp2uno.cxx
@@ -491,7 +491,7 @@ static typelib_TypeClass cpp_mediate(
long privateSnippetExecutor(long r2, long r3, long r4, long r5, long r6, long firstonstack)
{
register long r0 asm("r0");
- sal_uInt32 nOffsetAndIndex = r0;
+ sal_uInt64 nOffsetAndIndex = r0;
long sp = (long)&firstonstack;
@@ -522,15 +522,21 @@ long privateSnippetExecutor(long r2, long r3, long r4, long r5, long r6, long fi
switch( aType )
{
- case typelib_TypeClass_VOID:
case typelib_TypeClass_BOOLEAN:
case typelib_TypeClass_BYTE:
+ nRegReturn[0] = (unsigned long)(*(unsigned char *)nRegReturn);
+ break;
case typelib_TypeClass_CHAR:
case typelib_TypeClass_UNSIGNED_SHORT:
case typelib_TypeClass_SHORT:
+ nRegReturn[0] = (unsigned long)(*(unsigned short *)nRegReturn);
+ break;
case typelib_TypeClass_ENUM:
case typelib_TypeClass_UNSIGNED_LONG:
case typelib_TypeClass_LONG:
+ nRegReturn[0] = (unsigned long)(*(unsigned int *)nRegReturn);
+ break;
+ case typelib_TypeClass_VOID:
default:
break;
case typelib_TypeClass_FLOAT:
diff --git a/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx b/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx
index e474dce7268c..11ddfbb424e2 100644
--- a/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx
@@ -138,8 +138,8 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR
OUString const & unoName = *(OUString const *)&pTypeDescr->aBase.pTypeName;
MutexGuard guard( m_mutex );
- t_rtti_map::const_iterator iFind( m_rttis.find( unoName ) );
- if (iFind == m_rttis.end())
+ t_rtti_map::const_iterator iRttiFind( m_rttis.find( unoName ) );
+ if (iRttiFind == m_rttis.end())
{
// RTTI symbol
OStringBuffer buf( 64 );
@@ -203,7 +203,7 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR
}
else
{
- rtti = iFind->second;
+ rtti = iRttiFind->second;
}
return rtti;
diff --git a/bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx
index 5940f566f9ca..2b85eb125d59 100644
--- a/bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx
@@ -60,19 +60,21 @@ void MapReturn(long r2, double f0, typelib_TypeClass eTypeClass, sal_uInt64* pRe
{
case typelib_TypeClass_HYPER:
case typelib_TypeClass_UNSIGNED_HYPER:
+ *pRegisterReturn = r2;
+ break;
case typelib_TypeClass_LONG:
case typelib_TypeClass_UNSIGNED_LONG:
case typelib_TypeClass_ENUM:
- *pRegisterReturn = r2;
+ *(unsigned int*)pRegisterReturn = (unsigned int)r2;
break;
case typelib_TypeClass_CHAR:
case typelib_TypeClass_SHORT:
case typelib_TypeClass_UNSIGNED_SHORT:
- *pRegisterReturn = (unsigned short)r2;
+ *(unsigned short*)pRegisterReturn = (unsigned short)r2;
break;
case typelib_TypeClass_BOOLEAN:
case typelib_TypeClass_BYTE:
- *pRegisterReturn = (unsigned char)r2;
+ *(unsigned char*)pRegisterReturn = (unsigned char)r2;
break;
case typelib_TypeClass_FLOAT:
*reinterpret_cast<float *>( pRegisterReturn ) = f0;
@@ -90,7 +92,6 @@ void MapReturn(long r2, double f0, typelib_TypeClass eTypeClass, sal_uInt64* pRe
#define INSERT_FLOAT( pSV, nr, pFPR, pDS ) \
{ \
- float tmp = *reinterpret_cast<float *>( pSV ); \
if ( nr < s390x::MAX_SSE_REGS ) \
{ \
pFPR[nr++] = *reinterpret_cast<float *>( pSV ); \
@@ -421,7 +422,6 @@ void unoInterfaceProxyDispatch(
// is my surrogate
bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
= static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy *> (pUnoI);
- typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
switch (pMemberDescr->eTypeClass)
{