[Libreoffice-commits] .: 4 commits - cppuhelper/inc sal/inc solenv/gbuild unoxml/source

Stephan Bergmann sbergmann at kemper.freedesktop.org
Thu Mar 22 02:38:19 PDT 2012


 cppuhelper/inc/cppuhelper/implementationentry.hxx |    8 ++++----
 sal/inc/sal/types.h                               |    5 -----
 solenv/gbuild/platform/WNT_INTEL_GCC.mk           |    4 ++++
 unoxml/source/rdf/librdf_repository.cxx           |   12 ++++++------
 4 files changed, 14 insertions(+), 15 deletions(-)

New commits:
commit 7ec7f0df2960b74552224f0a9f7489f152b5faa1
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Mar 22 10:36:13 2012 +0100

    MinGW apparently needs to be forced into __cdecl
    
    ...otherwise bridges/source/cpp_uno/mingw_intel C++ ABI assumptions would not
    meet what i686-w64-mingw32-g++ emits (though it is unclear to me how this shall
    ever have worked before, as kendy claims it once did; also, at least for me,
    "wine soffice.exe" still does not work, as there is apparently confusion about
    C++ exception stack unwinding between GCC and cpp_uno/mingw_intel code).

diff --git a/sal/inc/sal/types.h b/sal/inc/sal/types.h
index 7575be4..52b008f 100644
--- a/sal/inc/sal/types.h
+++ b/sal/inc/sal/types.h
@@ -256,13 +256,8 @@ typedef void *                   sal_Handle;
 #endif // defined(_MSC_VER)
 #   define SAL_DLLPRIVATE
 #   define SAL_DLLPUBLIC_TEMPLATE
-#if defined(_MSC_VER)
 #   define SAL_CALL         __cdecl
 #   define SAL_CALL_ELLIPSE __cdecl
-#else
-#   define SAL_CALL
-#   define SAL_CALL_ELLIPSE
-#endif
 #elif defined SAL_UNX
 #   if   defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x550)
 #     define SAL_DLLPUBLIC_EXPORT  __global
diff --git a/solenv/gbuild/platform/WNT_INTEL_GCC.mk b/solenv/gbuild/platform/WNT_INTEL_GCC.mk
index 161ad2c..363f1f3 100644
--- a/solenv/gbuild/platform/WNT_INTEL_GCC.mk
+++ b/solenv/gbuild/platform/WNT_INTEL_GCC.mk
@@ -45,6 +45,7 @@ gb_COMPILERDEFS += \
 	-D_NATIVE_WCHAR_T_DEFINED \
 	-D_MSC_EXTENSIONS \
 	-D_FORCENAMELESSUNION \
+	-DBOOST_MEM_FN_ENABLE_CDECL \
 
 gb_RCDEFS := \
 	 -DWINVER=0x0400 \
commit ab2186d2c699f1ca041f7e3bde9620139a6f671c
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Mar 22 10:30:53 2012 +0100

    MinGW: other DLLs must not pick sal's special __main

diff --git a/solenv/gbuild/platform/WNT_INTEL_GCC.mk b/solenv/gbuild/platform/WNT_INTEL_GCC.mk
index 7d947ed..161ad2c 100644
--- a/solenv/gbuild/platform/WNT_INTEL_GCC.mk
+++ b/solenv/gbuild/platform/WNT_INTEL_GCC.mk
@@ -84,8 +84,11 @@ endif
 gb_LinkTarget_EXCEPTIONFLAGS += \
 	-fno-enforce-eh-specs \
 
+# At least sal defines its own __main, which would cause DLLs linking against
+# sal to pick up sal's __main instead of the one from MinGW's dllcrt2.o:
 gb_LinkTarget_LDFLAGS := \
 	-Wl,--export-all-symbols \
+	-Wl,--exclude-symbols,__main \
 	-Wl,--enable-stdcall-fixup \
 	-Wl,--enable-runtime-pseudo-reloc-v2 \
 	$(subst -L../lib , ,$(SOLARLIB)) \
commit 4fc8059d4452e3aca7b1edaf5fba873dca29987b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Mar 22 10:27:48 2012 +0100

    Fix SAL_CALL placement (so MinGW won't complain)

diff --git a/cppuhelper/inc/cppuhelper/implementationentry.hxx b/cppuhelper/inc/cppuhelper/implementationentry.hxx
index 173501d..655ac2b 100644
--- a/cppuhelper/inc/cppuhelper/implementationentry.hxx
+++ b/cppuhelper/inc/cppuhelper/implementationentry.hxx
@@ -45,17 +45,17 @@ struct ImplementationEntry
     /** Function that returns the implementation-name of the implementation
        (same as XServiceInfo.getImplementationName() ).
      */
-     rtl::OUString ( SAL_CALL * getImplementationName )();
+     rtl::OUString SAL_CALL ( * getImplementationName )();
 
     /** Function that returns all supported servicenames of the implementation
        ( same as XServiceInfo.getSupportedServiceNames() ).
     */
-     com::sun::star::uno::Sequence< rtl::OUString > ( SAL_CALL * getSupportedServiceNames ) ();
+     com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL ( * getSupportedServiceNames ) ();
 
     /** Function that creates a SingleComponentFactory.
     */
-     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory >
-     ( SAL_CALL * createFactory )(
+     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > SAL_CALL
+     ( * createFactory )(
          ComponentFactoryFunc fptr,
          ::rtl::OUString const & rImplementationName,
          ::com::sun::star::uno::Sequence< ::rtl::OUString > const & rServiceNames,
commit 17c4bb3be34c234dab7d4986ddae50e6a7bfa065
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Mar 22 10:26:38 2012 +0100

    Needless SAL_CALL

diff --git a/unoxml/source/rdf/librdf_repository.cxx b/unoxml/source/rdf/librdf_repository.cxx
index 85b40e9..f97d3be 100644
--- a/unoxml/source/rdf/librdf_repository.cxx
+++ b/unoxml/source/rdf/librdf_repository.cxx
@@ -335,7 +335,7 @@ public:
     const NamedGraphMap_t::iterator SAL_CALL clearGraph(
             const uno::Reference< rdf::XURI > & i_xName,
             bool i_Internal = false );
-    void SAL_CALL addStatementGraph(
+    void addStatementGraph(
             const uno::Reference< rdf::XResource > & i_xSubject,
             const uno::Reference< rdf::XURI > & i_xPredicate,
             const uno::Reference< rdf::XNode > & i_xObject,
@@ -343,14 +343,14 @@ public:
             bool i_Internal = false );
 //        throw (uno::RuntimeException, lang::IllegalArgumentException,
 //            container::NoSuchElementException, rdf::RepositoryException);
-    void SAL_CALL removeStatementsGraph(
+    void removeStatementsGraph(
             const uno::Reference< rdf::XResource > & i_xSubject,
             const uno::Reference< rdf::XURI > & i_xPredicate,
             const uno::Reference< rdf::XNode > & i_xObject,
             const uno::Reference< rdf::XURI > & i_xName );
 //        throw (uno::RuntimeException, lang::IllegalArgumentException,
 //            container::NoSuchElementException, rdf::RepositoryException);
-    uno::Reference< container::XEnumeration > SAL_CALL getStatementsGraph(
+    uno::Reference< container::XEnumeration > getStatementsGraph(
             const uno::Reference< rdf::XResource > & i_xSubject,
             const uno::Reference< rdf::XURI > & i_xPredicate,
             const uno::Reference< rdf::XNode > & i_xObject,
@@ -1728,7 +1728,7 @@ const NamedGraphMap_t::iterator SAL_CALL librdf_Repository::clearGraph(
     return iter;
 }
 
-void SAL_CALL librdf_Repository::addStatementGraph(
+void librdf_Repository::addStatementGraph(
     const uno::Reference< rdf::XResource > & i_xSubject,
     const uno::Reference< rdf::XURI > & i_xPredicate,
     const uno::Reference< rdf::XNode > & i_xObject,
@@ -1796,7 +1796,7 @@ void SAL_CALL librdf_Repository::addStatementGraph(
     }
 }
 
-void SAL_CALL librdf_Repository::removeStatementsGraph(
+void librdf_Repository::removeStatementsGraph(
     const uno::Reference< rdf::XResource > & i_xSubject,
     const uno::Reference< rdf::XURI > & i_xPredicate,
     const uno::Reference< rdf::XNode > & i_xObject,
@@ -1865,7 +1865,7 @@ void SAL_CALL librdf_Repository::removeStatementsGraph(
     }
 }
 
-uno::Reference< container::XEnumeration > SAL_CALL
+uno::Reference< container::XEnumeration >
 librdf_Repository::getStatementsGraph(
     const uno::Reference< rdf::XResource > & i_xSubject,
     const uno::Reference< rdf::XURI > & i_xPredicate,


More information about the Libreoffice-commits mailing list