diff options
author | Martin Hollmichel <mh@openoffice.org> | 2002-10-02 10:41:24 +0000 |
---|---|---|
committer | Martin Hollmichel <mh@openoffice.org> | 2002-10-02 10:41:24 +0000 |
commit | a81e5646d02090193bf271cff4063aea8f8dc08d (patch) | |
tree | e44121e32ea7990ed2a0b24b113ca8ea23e6dedc | |
parent | 9e50970ccf5b12d634a8a786579220c0728f1076 (diff) |
join: from SRX643_OO, #103821#
5 files changed, 25 insertions, 19 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx index 1191db9ab0b7..55a9b4339746 100644 --- a/bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx @@ -2,9 +2,9 @@ * * $RCSfile: cpp2uno.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: khendricks $ $Date: 2002-05-15 13:38:25 $ + * last change: $Author: mh $ $Date: 2002-10-02 11:41:20 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -90,7 +90,7 @@ static typelib_TypeClass cpp2uno_call( const typelib_TypeDescription * pMemberTypeDescr, typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return sal_Int32 nParams, typelib_MethodParameter * pParams, - void ** gpreg, void ** freg, void ** ovrflw, + void ** gpreg, void ** fpreg, void ** ovrflw, sal_Int64 * pRegisterReturn /* space for register return */ ) { int ng = 0; //number of gpr registers used @@ -255,6 +255,7 @@ static typelib_TypeClass cpp2uno_call( pUnoArgs[nPos] = ovrflw; ovrflw++; } + break; } // no longer needed @@ -735,16 +736,16 @@ void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pT // get method *slots = code; codeSnippet( (long *)code, vtable_pos++, simple_ret ); + flush_range( code, nSnippetSize ); code += nSnippetSize; - flush_range((char *) slots, nSnippetSize); slots++; if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) { // set method *slots = code; codeSnippet( (long *)code, vtable_pos++, true ); + flush_range( code, nSnippetSize ); code += nSnippetSize; - flush_range((char *) slots, nSnippetSize); slots++; } } @@ -754,8 +755,8 @@ void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pT ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); *slots = code; codeSnippet( (long *)code, vtable_pos++, simple_ret ); + flush_range( code, nSnippetSize ); code += nSnippetSize; - flush_range((char *) slots, nSnippetSize); slots++; } TYPELIB_DANGER_RELEASE( pTD ); diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx index 7d59da8a9948..3fd027dfea3c 100644 --- a/bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx @@ -2,9 +2,9 @@ * * $RCSfile: except.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: khendricks $ $Date: 2002-05-15 13:38:25 $ + * last change: $Author: mh $ $Date: 2002-10-02 11:41:21 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc/makefile.mk b/bridges/source/cpp_uno/gcc3_linux_powerpc/makefile.mk index 3cd978bda508..d73e3a1f9a14 100644 --- a/bridges/source/cpp_uno/gcc3_linux_powerpc/makefile.mk +++ b/bridges/source/cpp_uno/gcc3_linux_powerpc/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: khendricks $ $Date: 2002-05-15 13:38:25 $ +# last change: $Author: mh $ $Date: 2002-10-02 11:41:22 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -82,7 +82,10 @@ NO_BSYMBOLIC=TRUE CFLAGS += -DLEAK_STATIC_DATA .ENDIF -NOOPTFILES=$(SLO)$/uno2cpp.obj +NOOPTFILES= \ + $(SLO)$/uno2cpp.obj + + CFLAGSNOOPT=-O0 SLOFILES= \ diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc/share.hxx b/bridges/source/cpp_uno/gcc3_linux_powerpc/share.hxx index 498812c5c0bf..bb491176a1a3 100644 --- a/bridges/source/cpp_uno/gcc3_linux_powerpc/share.hxx +++ b/bridges/source/cpp_uno/gcc3_linux_powerpc/share.hxx @@ -2,9 +2,9 @@ * * $RCSfile: share.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: khendricks $ $Date: 2002-05-15 13:38:25 $ + * last change: $Author: mh $ $Date: 2002-10-02 11:41:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc/uno2cpp.cxx index 35929bcd1e5a..a278dbd59be7 100644 --- a/bridges/source/cpp_uno/gcc3_linux_powerpc/uno2cpp.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_powerpc/uno2cpp.cxx @@ -2,9 +2,9 @@ * * $RCSfile: uno2cpp.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: khendricks $ $Date: 2002-05-15 13:38:25 $ + * last change: $Author: mh $ $Date: 2002-10-02 11:41:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -135,11 +135,13 @@ static void callVirtualMethod( "lwz 0,0(1)\n\t" "subf 1,%0,1\n\t" "stw 0,0(1)\n\t" - "addi %1,1,8\n\t" - : : "r" (nStackLongs), "r" (p) /* no inputs */ : "0" ); + : : "r" (nStackLongs) : "0" ); + + __asm__ __volatile__ ( "addi %0,1,8" : "=r" (p) : ); // never called - if (! pThis) dummy_can_throw_anything("xxx"); // address something + // if (! pThis) dummy_can_throw_anything("xxx"); // address something + // now begin to load the C++ function arguments into storage n = 0; @@ -332,7 +334,7 @@ static void cpp_call( // need to know parameter types for callVirtualMethod so generate a signature string char * pParamType = (char *) alloca(nParams+2); - char * PT = pParamType; + char * pPT = pParamType; // return typelib_TypeDescription * pReturnTypeDescr = 0; |