diff options
Diffstat (limited to 'bridges/source/cpp_uno')
-rw-r--r-- | bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk | 6 | ||||
-rw-r--r-- | bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx | 1 | ||||
-rw-r--r-- | bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx | 3 | ||||
-rw-r--r-- | bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx | 3 | ||||
-rw-r--r-- | bridges/source/cpp_uno/mingw_intel/call.s | 21 | ||||
-rw-r--r-- | bridges/source/cpp_uno/mingw_intel/except.cxx | 1 | ||||
-rw-r--r-- | bridges/source/cpp_uno/mingw_intel/makefile.mk | 6 | ||||
-rw-r--r-- | bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx | 4 |
8 files changed, 21 insertions, 24 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk b/bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk index 32d4b0d27dc9..8371d653a25b 100644 --- a/bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk +++ b/bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk @@ -61,8 +61,7 @@ CFLAGSNOOPT=-O0 SLOFILES= \ $(SLO)$/cpp2uno.obj \ $(SLO)$/except.obj \ - $(SLO)$/uno2cpp.obj \ - $(SLO)$/m68khelper.obj + $(SLO)$/uno2cpp.obj SHL1TARGET= $(TARGET) @@ -83,6 +82,3 @@ SHL1STDLIBS= \ # --- Targets ------------------------------------------------------ .INCLUDE : target.mk - -$(SLO)$/%.obj: %.s - $(CXX) -c -o $(SLO)$/$(@:b).o $< -fPIC ; touch $@ diff --git a/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx b/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx index 6141efd7964a..e474dce7268c 100644 --- a/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx @@ -33,6 +33,7 @@ #include "precompiled_bridges.hxx" #include <stdio.h> +#include <string.h> #include <dlfcn.h> #include <cxxabi.h> #include <hash_map> diff --git a/bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx index 0f0fdbf351ca..e3f4d36e3962 100644 --- a/bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx +++ b/bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx @@ -110,6 +110,9 @@ static void callVirtualMethod( /* set up a pointer to the stack parameter area */ __asm__ ( "addi %0,r1,24" : "=r" (p) : /* no inputs */ ); + // #i94421#, work around compiler error: + volatile long * pCopy = p; + (void) pCopy; // avoid warning about unused variable // never called // if (! pAdjustedThisPtr )CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something diff --git a/bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx index d4584227cdc1..d6589b8d86cf 100644 --- a/bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx +++ b/bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx @@ -163,7 +163,8 @@ static typelib_TypeClass cpp2uno_call( (*pThis->getUnoI()->pDispatcher)( pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); #if OSL_DEBUG_LEVEL > 1 - fprintf( stderr, ">cpp2uno_call pUnoExc %x\n", pUnoExc); + if (pUnoExc != NULL) + fprintf( stderr, ">cpp2uno_call pUnoExc %x\n", pUnoExc); #endif // in case an exception occured... diff --git a/bridges/source/cpp_uno/mingw_intel/call.s b/bridges/source/cpp_uno/mingw_intel/call.s index b4a9ba031cf5..47327d9a4650 100644 --- a/bridges/source/cpp_uno/mingw_intel/call.s +++ b/bridges/source/cpp_uno/mingw_intel/call.s @@ -1,7 +1,6 @@ .text .globl _privateSnippetExecutorGeneral - .type _privateSnippetExecutorGeneral,@function _privateSnippetExecutorGeneral: .LFBg: movl %esp,%ecx @@ -19,10 +18,9 @@ _privateSnippetExecutorGeneral: leave ret .LFEg: - .size _privateSnippetExecutorGeneral,.-_privateSnippetExecutorGeneral + .long .-_privateSnippetExecutorGeneral .globl _privateSnippetExecutorVoid - .type _privateSnippetExecutorVoid,@function _privateSnippetExecutorVoid: .LFBv: movl %esp,%ecx @@ -38,10 +36,9 @@ _privateSnippetExecutorVoid: leave ret .LFEv: - .size _privateSnippetExecutorVoid,.-_privateSnippetExecutorVoid + .long .-_privateSnippetExecutorVoid .globl _privateSnippetExecutorHyper - .type _privateSnippetExecutorHyper,@function _privateSnippetExecutorHyper: .LFBh: movl %esp,%ecx @@ -60,10 +57,9 @@ _privateSnippetExecutorHyper: leave ret .LFEh: - .size _privateSnippetExecutorHyper,.-_privateSnippetExecutorHyper + .long .-_privateSnippetExecutorHyper .globl _privateSnippetExecutorFloat - .type _privateSnippetExecutorFloat,@function _privateSnippetExecutorFloat: .LFBf: movl %esp,%ecx @@ -81,10 +77,9 @@ _privateSnippetExecutorFloat: leave ret .LFEf: - .size _privateSnippetExecutorFloat,.-_privateSnippetExecutorFloat + .long .-_privateSnippetExecutorFloat .globl _privateSnippetExecutorDouble - .type _privateSnippetExecutorDouble,@function _privateSnippetExecutorDouble: .LFBd: movl %esp,%ecx @@ -102,10 +97,9 @@ _privateSnippetExecutorDouble: leave ret .LFEd: - .size _privateSnippetExecutorDouble,.-_privateSnippetExecutorDouble + .long .-_privateSnippetExecutorDouble .globl _privateSnippetExecutorClass - .type _privateSnippetExecutorClass,@function _privateSnippetExecutorClass: .LFBc: movl %esp,%ecx @@ -123,9 +117,9 @@ _privateSnippetExecutorClass: leave ret $4 .LFEc: - .size _privateSnippetExecutorClass,.-_privateSnippetExecutorClass + .long .-_privateSnippetExecutorClass - .section .eh_frame,"a",@progbits + .section .eh_frame,"dr" .Lframe1: .long .LECIE1-.LSCIE1 # length .LSCIE1: @@ -265,4 +259,3 @@ _privateSnippetExecutorClass: .uleb128 5 .align 4 .LEFDEc: - .section .note.GNU-stack,"",@progbits diff --git a/bridges/source/cpp_uno/mingw_intel/except.cxx b/bridges/source/cpp_uno/mingw_intel/except.cxx index a529dc00d48b..5285b709b7b5 100644 --- a/bridges/source/cpp_uno/mingw_intel/except.cxx +++ b/bridges/source/cpp_uno/mingw_intel/except.cxx @@ -32,6 +32,7 @@ #include "precompiled_bridges.hxx" #include <stdio.h> +#include <string.h> #include <cxxabi.h> #include <hash_map> diff --git a/bridges/source/cpp_uno/mingw_intel/makefile.mk b/bridges/source/cpp_uno/mingw_intel/makefile.mk index 823c3888516b..242d21617d5e 100644 --- a/bridges/source/cpp_uno/mingw_intel/makefile.mk +++ b/bridges/source/cpp_uno/mingw_intel/makefile.mk @@ -47,11 +47,17 @@ ENABLE_EXCEPTIONS=TRUE .IF "$(cppu_no_leak)" == "" CFLAGS += -DLEAK_STATIC_DATA .ENDIF +.IF "$(EXCEPTIONS)" == "sjlj" +CFLAGS += -DBROKEN_ALLOCA +.ENDIF # In case someone enabled the non-standard -fomit-frame-pointer which does not # work with the .cxx sources in this directory: CFLAGSCXX += -fno-omit-frame-pointer +NOOPTFILES= \ + $(SLO)$/uno2cpp.obj + CFLAGSNOOPT=-O0 SLOFILES= \ diff --git a/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx b/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx index 0c12fac5c93f..f6b6a1c6511d 100644 --- a/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx +++ b/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx @@ -44,10 +44,6 @@ #include "share.hxx" #include "smallstruct.hxx" -#ifdef __MINGW32__ -#define BROKEN_ALLOCA -#endif - using namespace ::rtl; using namespace ::com::sun::star::uno; |