[Libreoffice-commits] .: 7 commits - clucene/patches clucene/source configure.in cppuhelper/inc hwpfilter/source sal/inc solenv/gbuild vbahelper/inc

Lubos Lunak llunak at kemper.freedesktop.org
Sat Mar 10 07:39:31 PST 2012


 clucene/patches/clucene-narrowing-conversions.patch |   25 +++++++++++++++++
 clucene/source/Makefile                             |    1 
 configure.in                                        |   29 ++++++++++++++++++++
 cppuhelper/inc/cppuhelper/compbase.hxx              |    4 +-
 cppuhelper/inc/cppuhelper/compbase1.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/compbase10.hxx            |    6 ++--
 cppuhelper/inc/cppuhelper/compbase11.hxx            |    6 ++--
 cppuhelper/inc/cppuhelper/compbase12.hxx            |    6 ++--
 cppuhelper/inc/cppuhelper/compbase2.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/compbase3.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/compbase4.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/compbase5.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/compbase6.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/compbase7.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/compbase8.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/compbase9.hxx             |    6 ++--
 cppuhelper/inc/cppuhelper/implbase.hxx              |    8 ++---
 cppuhelper/inc/cppuhelper/implbase1.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase10.hxx            |   10 +++---
 cppuhelper/inc/cppuhelper/implbase11.hxx            |   10 +++---
 cppuhelper/inc/cppuhelper/implbase12.hxx            |   10 +++---
 cppuhelper/inc/cppuhelper/implbase2.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase3.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase4.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase5.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase6.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase7.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase8.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase9.hxx             |   10 +++---
 cppuhelper/inc/cppuhelper/implbase_ex_post.hxx      |   14 ++++-----
 hwpfilter/source/datecode.h                         |   14 ++++-----
 hwpfilter/source/hbox.cxx                           |   21 +++++++-------
 hwpfilter/source/hwpreader.cxx                      |    2 -
 sal/inc/sal/types.h                                 |    2 -
 solenv/gbuild/platform/WNT_INTEL_GCC.mk             |   13 ++++++--
 solenv/gbuild/platform/unxgcc.mk                    |   13 ++++++--
 vbahelper/inc/vbahelper/vbahelperinterface.hxx      |    8 ++---
 37 files changed, 208 insertions(+), 138 deletions(-)

New commits:
commit 305cfc116ef2e7dd8630b8353c48b04c5316492c
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Sat Mar 10 15:55:51 2012 +0100

    clang has broken -fvisibility-inlines-hidden
    
    http://llvm.org/bugs/show_bug.cgi?id=11250 , comment #4

diff --git a/configure.in b/configure.in
index d9f8741..33109ca 100644
--- a/configure.in
+++ b/configure.in
@@ -4482,6 +4482,35 @@ istringstream strm( "test" ); return 0;
         LDFLAGS=$sharedlink_ldflags_save
     fi
 
+    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE" -a "$HAVE_GCC_VISIBILITY_BROKEN" != "TRUE"; then
+        AC_MSG_CHECKING([if gcc is -fvisibility-inlines-hidden safe (Clang bug 11250)])
+        cat > conftestlib1.cc <<_ACEOF
+template<typename T> struct S1 { virtual ~S1() {} virtual void f() {} };
+struct S2: S1<int> { virtual ~S2(); };
+S2::~S2() {}
+_ACEOF
+        cat > conftestlib2.cc <<_ACEOF
+template<typename T> struct S1 { virtual ~S1() {} virtual void f() {} };
+struct S2: S1<int> { virtual ~S2(); };
+struct S3: S2 { virtual ~S3(); }; S3::~S3() {}
+_ACEOF
+        gccvisinlineshiddenok=yes
+        if ! $CXX $CXXFLAGS $CPPFLAGS -shared -fPIC -fvisibility-inlines-hidden conftestlib1.cc -o lib1.so >/dev/null 2>/dev/null; then
+            gccvisinlineshiddenok=no
+        else
+            if ! $CXX $CXXFLAGS $CPPFLAGS -shared -fPIC -fvisibility-inlines-hidden conftestlib2.cc -L. -l1 -Wl,-z,defs -o lib2.so >/dev/null 2>/dev/null ; then
+                gccvisinlineshiddenok=no
+            fi
+        fi
+
+        AC_MSG_RESULT([$gccvisinlineshiddenok])
+        if test "$gccvisinlineshiddenok" = "no"; then
+            AC_MSG_WARN([Your gcc/clang is not -fvisibility-inlines-hidden safe, disabling that.])
+            echo "Your gcc/clang is not -fvisibility-inlines-hidden safe, disabling that." >> warn
+            HAVE_GCC_VISIBILITY_BROKEN="TRUE"
+        fi
+    fi
+
     if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
         AC_MSG_CHECKING([if gcc has a visibility bug with class-level attributes (GCC bug 26905)])
         cat >visibility.cxx <<_ACEOF
commit 91fc0f37c1e06ba2875f3f4ed1b02ac6e92aafcb
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Sat Mar 10 15:38:06 2012 +0100

    clang does not know -ggdb2

diff --git a/solenv/gbuild/platform/WNT_INTEL_GCC.mk b/solenv/gbuild/platform/WNT_INTEL_GCC.mk
index ed88e7f..9126288 100644
--- a/solenv/gbuild/platform/WNT_INTEL_GCC.mk
+++ b/solenv/gbuild/platform/WNT_INTEL_GCC.mk
@@ -91,7 +91,14 @@ ifeq ($(MINGW_GCCLIB_EH),YES)
 gb_LinkTarget_LDFLAGS += -shared-libgcc
 endif
 
-gb_DEBUG_CFLAGS := -ggdb2 -finline-limit=0 -fno-inline -fno-default-inline
+# clang does not know -ggdb2
+ifneq ($(COM_GCC_IS_CLANG),TRUE)
+GGDB2=-ggdb2
+else
+GGDB2=-g2
+endif
+
+gb_DEBUG_CFLAGS := $(GGDB2) -finline-limit=0 -fno-inline -fno-default-inline
 
 gb_STDLIBS := \
 	mingwthrd \
@@ -141,8 +148,8 @@ gb_LinkTarget_CFLAGS := $(gb_CFLAGS)
 gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS)
 
 ifeq ($(gb_SYMBOL),$(true))
-gb_LinkTarget_CXXFLAGS += -ggdb2
-gb_LinkTarget_CFLAGS += -ggdb2
+gb_LinkTarget_CXXFLAGS += $(GGDB2)
+gb_LinkTarget_CFLAGS += $(GGDB2)
 endif
 
 gb_LinkTarget_INCLUDE +=\
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 67871be..1a813d4 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -161,7 +161,14 @@ gb_COMPILEROPTFLAGS := $(gb_COMPILERDEFAULTOPTFLAGS)
 gb_LINKEROPTFLAGS := -Wl,-O1
 endif
 
-gb_DEBUG_CFLAGS := -ggdb2 -finline-limit=0 -fno-inline -fno-default-inline
+# clang does not know -ggdb2
+ifneq ($(COM_GCC_IS_CLANG),TRUE)
+GGDB2=-ggdb2
+else
+GGDB2=-g2
+endif
+
+gb_DEBUG_CFLAGS := $(GGDB2) -finline-limit=0 -fno-inline -fno-default-inline
 
 gb_COMPILERNOOPTFLAGS := -O0
 
@@ -204,8 +211,8 @@ gb_LinkTarget_CFLAGS := $(gb_CFLAGS)
 gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS)
 
 ifeq ($(gb_SYMBOL),$(true))
-gb_LinkTarget_CXXFLAGS += -ggdb2
-gb_LinkTarget_CFLAGS += -ggdb2
+gb_LinkTarget_CXXFLAGS += $(GGDB2)
+gb_LinkTarget_CFLAGS += $(GGDB2)
 endif
 
 # note that `cat $(extraobjectlist)` is needed to build with older gcc versions, e.g. 4.1.2 on SLED10
commit 34f8495dd948e2ad9d64c2c19110e69840cefd1a
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Sat Mar 10 15:37:02 2012 +0100

    exported templates need to be marked as such
    
    Otherwise their instances created in other modules may end up
    as non-exported even when used by something exported.

diff --git a/cppuhelper/inc/cppuhelper/compbase.hxx b/cppuhelper/inc/cppuhelper/compbase.hxx
index 60e99ee..e590412 100644
--- a/cppuhelper/inc/cppuhelper/compbase.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase.hxx
@@ -41,7 +41,7 @@
 namespace cppu \
 { \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE WeakComponentImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper##N \
     : public ::cppu::WeakComponentImplHelperBase \
     , public ImplHelperBase##N< __IFC##N > \
 { \
@@ -67,7 +67,7 @@ public: \
         { return getClassData( s_aCD ).getImplementationId(); } \
 }; \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE WeakAggComponentImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper##N \
     : public ::cppu::WeakAggComponentImplHelperBase \
     , public ImplHelperBase##N< __IFC##N > \
 { \
diff --git a/cppuhelper/inc/cppuhelper/compbase1.hxx b/cppuhelper/inc/cppuhelper/compbase1.hxx
index bc979f6..902d6f0 100644
--- a/cppuhelper/inc/cppuhelper/compbase1.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase1.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1 >
-    class SAL_NO_VTABLE WeakComponentImplHelper1
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper1
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper1
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper1
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper1
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper1
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1
diff --git a/cppuhelper/inc/cppuhelper/compbase10.hxx b/cppuhelper/inc/cppuhelper/compbase10.hxx
index b1c2623..e42f9f4 100644
--- a/cppuhelper/inc/cppuhelper/compbase10.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase10.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
-    class SAL_NO_VTABLE WeakComponentImplHelper10
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper10
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper10
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper10
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper10
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper10
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
diff --git a/cppuhelper/inc/cppuhelper/compbase11.hxx b/cppuhelper/inc/cppuhelper/compbase11.hxx
index 6e8df92..90b4dfb 100644
--- a/cppuhelper/inc/cppuhelper/compbase11.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase11.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
-    class SAL_NO_VTABLE WeakComponentImplHelper11
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper11
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper11
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper11
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper11
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper11
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
diff --git a/cppuhelper/inc/cppuhelper/compbase12.hxx b/cppuhelper/inc/cppuhelper/compbase12.hxx
index 0656c83..782b980 100644
--- a/cppuhelper/inc/cppuhelper/compbase12.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase12.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
-    class SAL_NO_VTABLE WeakComponentImplHelper12
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper12
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper12
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper12
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper12
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper12
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
diff --git a/cppuhelper/inc/cppuhelper/compbase2.hxx b/cppuhelper/inc/cppuhelper/compbase2.hxx
index e07f72e..1efee41 100644
--- a/cppuhelper/inc/cppuhelper/compbase2.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase2.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2 >
-    class SAL_NO_VTABLE WeakComponentImplHelper2
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper2
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper2
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper2
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2
@@ -141,7 +141,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper2
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper2
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2
diff --git a/cppuhelper/inc/cppuhelper/compbase3.hxx b/cppuhelper/inc/cppuhelper/compbase3.hxx
index 388cd15..bb983b0 100644
--- a/cppuhelper/inc/cppuhelper/compbase3.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase3.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3 >
-    class SAL_NO_VTABLE WeakComponentImplHelper3
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper3
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper3
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper3
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper3
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper3
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3
diff --git a/cppuhelper/inc/cppuhelper/compbase4.hxx b/cppuhelper/inc/cppuhelper/compbase4.hxx
index 359331a..fdeec54 100644
--- a/cppuhelper/inc/cppuhelper/compbase4.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase4.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
-    class SAL_NO_VTABLE WeakComponentImplHelper4
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper4
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper4
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper4
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper4
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper4
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4
diff --git a/cppuhelper/inc/cppuhelper/compbase5.hxx b/cppuhelper/inc/cppuhelper/compbase5.hxx
index 78168f2..a150a47 100644
--- a/cppuhelper/inc/cppuhelper/compbase5.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase5.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
-    class SAL_NO_VTABLE WeakComponentImplHelper5
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper5
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper5
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper5
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper5
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper5
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
diff --git a/cppuhelper/inc/cppuhelper/compbase6.hxx b/cppuhelper/inc/cppuhelper/compbase6.hxx
index f31c057..255a725 100644
--- a/cppuhelper/inc/cppuhelper/compbase6.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase6.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
-    class SAL_NO_VTABLE WeakComponentImplHelper6
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper6
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper6
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper6
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper6
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper6
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
diff --git a/cppuhelper/inc/cppuhelper/compbase7.hxx b/cppuhelper/inc/cppuhelper/compbase7.hxx
index 6ca62f7..3bcf34a 100644
--- a/cppuhelper/inc/cppuhelper/compbase7.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase7.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
-    class SAL_NO_VTABLE WeakComponentImplHelper7
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper7
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper7
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper7
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper7
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper7
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
diff --git a/cppuhelper/inc/cppuhelper/compbase8.hxx b/cppuhelper/inc/cppuhelper/compbase8.hxx
index 4dc8da1..c8d6151 100644
--- a/cppuhelper/inc/cppuhelper/compbase8.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase8.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
-    class SAL_NO_VTABLE WeakComponentImplHelper8
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper8
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper8
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper8
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
@@ -140,7 +140,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper8
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper8
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
diff --git a/cppuhelper/inc/cppuhelper/compbase9.hxx b/cppuhelper/inc/cppuhelper/compbase9.hxx
index 0c1e0cf..e3b738f 100644
--- a/cppuhelper/inc/cppuhelper/compbase9.hxx
+++ b/cppuhelper/inc/cppuhelper/compbase9.hxx
@@ -58,7 +58,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
-    class SAL_NO_VTABLE WeakComponentImplHelper9
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper9
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9
@@ -100,7 +100,7 @@ namespace cppu
         the g++ overloaded-virtual warning
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
-    class SAL_NO_VTABLE PartialWeakComponentImplHelper9
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC PartialWeakComponentImplHelper9
         : public WeakComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9
@@ -139,7 +139,7 @@ namespace cppu
         @deprecated
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
-    class SAL_NO_VTABLE WeakAggComponentImplHelper9
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper9
         : public WeakAggComponentImplHelperBase
         , public ::com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9
diff --git a/cppuhelper/inc/cppuhelper/implbase.hxx b/cppuhelper/inc/cppuhelper/implbase.hxx
index 06506d3..ae80110 100644
--- a/cppuhelper/inc/cppuhelper/implbase.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase.hxx
@@ -181,7 +181,7 @@ struct ClassData##N : public ClassDataBase \
         {} \
 }; \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE ImplHelperBase##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelperBase##N \
     : public ::com::sun::star::lang::XTypeProvider \
     , __PUBLIC_IFC##N \
 { \
@@ -210,7 +210,7 @@ protected: \
     } \
 }; \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE ImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper##N \
     : public ImplHelperBase##N< __IFC##N > \
 { \
     static ClassData##N s_aCD; \
@@ -223,7 +223,7 @@ public: \
         { return this->getClassData( s_aCD ).getImplementationId(); } \
 }; \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE WeakImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper##N \
     : public ::cppu::OWeakObject \
     , public ImplHelperBase##N< __IFC##N > \
 { \
@@ -244,7 +244,7 @@ public: \
         { return this->getClassData( s_aCD ).getImplementationId(); } \
 }; \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE WeakAggImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper##N \
     : public ::cppu::OWeakAggObject \
     , public ImplHelperBase##N< __IFC##N > \
 { \
diff --git a/cppuhelper/inc/cppuhelper/implbase1.hxx b/cppuhelper/inc/cppuhelper/implbase1.hxx
index 940e453..79527b8 100644
--- a/cppuhelper/inc/cppuhelper/implbase1.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase1.hxx
@@ -73,7 +73,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1 >
-    class SAL_NO_VTABLE ImplHelper1
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper1
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1
     {
@@ -99,7 +99,7 @@ namespace cppu
         to implement 1 till 12 interfaces in your component.
     */
     template< class Ifc1 >
-    class SAL_NO_VTABLE WeakImplHelper1
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper1
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1
@@ -131,7 +131,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1 >
-    class SAL_NO_VTABLE WeakAggImplHelper1
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper1
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1
@@ -168,7 +168,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1 >
-    class SAL_NO_VTABLE ImplInheritanceHelper1
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper1
         : public BaseClass
         , public Ifc1
     {
@@ -241,7 +241,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper1
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper1
         : public BaseClass
         , public Ifc1
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase10.hxx b/cppuhelper/inc/cppuhelper/implbase10.hxx
index 090a5d3..10ddab5 100644
--- a/cppuhelper/inc/cppuhelper/implbase10.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase10.hxx
@@ -82,7 +82,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
-    class SAL_NO_VTABLE ImplHelper10
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC CPPUHELPER_DLLPUBLIC ImplHelper10
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
     {
@@ -104,7 +104,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
-    class SAL_NO_VTABLE WeakImplHelper10
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper10
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
@@ -136,7 +136,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
-    class SAL_NO_VTABLE WeakAggImplHelper10
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper10
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
@@ -173,7 +173,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
-    class SAL_NO_VTABLE ImplInheritanceHelper10
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper10
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
     {
@@ -241,7 +241,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper10
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper10
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase11.hxx b/cppuhelper/inc/cppuhelper/implbase11.hxx
index 28e2f95..26e76ff 100644
--- a/cppuhelper/inc/cppuhelper/implbase11.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase11.hxx
@@ -83,7 +83,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
-    class SAL_NO_VTABLE ImplHelper11
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper11
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
     {
@@ -105,7 +105,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
-    class SAL_NO_VTABLE WeakImplHelper11
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper11
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
@@ -137,7 +137,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
-    class SAL_NO_VTABLE WeakAggImplHelper11
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper11
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
@@ -174,7 +174,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
-    class SAL_NO_VTABLE ImplInheritanceHelper11
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper11
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
     {
@@ -242,7 +242,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper11
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper11
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase12.hxx b/cppuhelper/inc/cppuhelper/implbase12.hxx
index b4ca625..89cb6c4 100644
--- a/cppuhelper/inc/cppuhelper/implbase12.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase12.hxx
@@ -84,7 +84,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
-    class SAL_NO_VTABLE ImplHelper12
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper12
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
     {
@@ -106,7 +106,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
-    class SAL_NO_VTABLE WeakImplHelper12
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper12
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
@@ -138,7 +138,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
-    class SAL_NO_VTABLE WeakAggImplHelper12
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper12
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
@@ -175,7 +175,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
-    class SAL_NO_VTABLE ImplInheritanceHelper12
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper12
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
     {
@@ -243,7 +243,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper12
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper12
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase2.hxx b/cppuhelper/inc/cppuhelper/implbase2.hxx
index 72b084e..23c64d1 100644
--- a/cppuhelper/inc/cppuhelper/implbase2.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase2.hxx
@@ -73,7 +73,7 @@ namespace cppu
         queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2 >
-    class SAL_NO_VTABLE ImplHelper2
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper2
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2
     {
@@ -95,7 +95,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2 >
-    class SAL_NO_VTABLE WeakImplHelper2
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper2
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2
@@ -127,7 +127,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2 >
-    class SAL_NO_VTABLE WeakAggImplHelper2
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper2
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2
@@ -164,7 +164,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2 >
-    class SAL_NO_VTABLE ImplInheritanceHelper2
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper2
         : public BaseClass
         , public Ifc1, public Ifc2
     {
@@ -232,7 +232,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper2
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper2
         : public BaseClass
         , public Ifc1, public Ifc2
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase3.hxx b/cppuhelper/inc/cppuhelper/implbase3.hxx
index e5b2e7b..a30fbc4 100644
--- a/cppuhelper/inc/cppuhelper/implbase3.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase3.hxx
@@ -74,7 +74,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3 >
-    class SAL_NO_VTABLE ImplHelper3
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper3
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3
     {
@@ -96,7 +96,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3 >
-    class SAL_NO_VTABLE WeakImplHelper3
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper3
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3
@@ -128,7 +128,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3 >
-    class SAL_NO_VTABLE WeakAggImplHelper3
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper3
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3
@@ -166,7 +166,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3 >
-    class SAL_NO_VTABLE ImplInheritanceHelper3
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper3
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3
     {
@@ -234,7 +234,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper3
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper3
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase4.hxx b/cppuhelper/inc/cppuhelper/implbase4.hxx
index 7bdd94a..ca99395 100644
--- a/cppuhelper/inc/cppuhelper/implbase4.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase4.hxx
@@ -76,7 +76,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
-    class SAL_NO_VTABLE ImplHelper4
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper4
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4
     {
@@ -98,7 +98,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
-    class SAL_NO_VTABLE WeakImplHelper4
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper4
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4
@@ -130,7 +130,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
-    class SAL_NO_VTABLE WeakAggImplHelper4
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper4
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4
@@ -167,7 +167,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
-    class SAL_NO_VTABLE ImplInheritanceHelper4
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper4
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4
     {
@@ -235,7 +235,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper4
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper4
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase5.hxx b/cppuhelper/inc/cppuhelper/implbase5.hxx
index 1c9d9a8..1ffe098 100644
--- a/cppuhelper/inc/cppuhelper/implbase5.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase5.hxx
@@ -77,7 +77,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
-    class SAL_NO_VTABLE ImplHelper5
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper5
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
     {
@@ -99,7 +99,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
-    class SAL_NO_VTABLE WeakImplHelper5
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper5
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
@@ -131,7 +131,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
-    class SAL_NO_VTABLE WeakAggImplHelper5
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper5
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
@@ -168,7 +168,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
-    class SAL_NO_VTABLE ImplInheritanceHelper5
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper5
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
     {
@@ -236,7 +236,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper5
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper5
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase6.hxx b/cppuhelper/inc/cppuhelper/implbase6.hxx
index d2a7e41..37f650f 100644
--- a/cppuhelper/inc/cppuhelper/implbase6.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase6.hxx
@@ -78,7 +78,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
-    class SAL_NO_VTABLE ImplHelper6
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper6
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
     {
@@ -100,7 +100,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
-    class SAL_NO_VTABLE WeakImplHelper6
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper6
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
@@ -132,7 +132,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
-    class SAL_NO_VTABLE WeakAggImplHelper6
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper6
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
@@ -169,7 +169,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
-    class SAL_NO_VTABLE ImplInheritanceHelper6
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper6
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
     {
@@ -237,7 +237,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper6
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper6
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase7.hxx b/cppuhelper/inc/cppuhelper/implbase7.hxx
index 9297249..6f73685 100644
--- a/cppuhelper/inc/cppuhelper/implbase7.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase7.hxx
@@ -79,7 +79,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
-    class SAL_NO_VTABLE ImplHelper7
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper7
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
     {
@@ -101,7 +101,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
-    class SAL_NO_VTABLE WeakImplHelper7
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper7
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
@@ -133,7 +133,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
-    class SAL_NO_VTABLE WeakAggImplHelper7
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper7
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
@@ -170,7 +170,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
-    class SAL_NO_VTABLE ImplInheritanceHelper7
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper7
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
     {
@@ -238,7 +238,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper7
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper7
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase8.hxx b/cppuhelper/inc/cppuhelper/implbase8.hxx
index e2ec4ee..f9394c6 100644
--- a/cppuhelper/inc/cppuhelper/implbase8.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase8.hxx
@@ -80,7 +80,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
-    class SAL_NO_VTABLE ImplHelper8
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper8
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
     {
@@ -102,7 +102,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
-    class SAL_NO_VTABLE WeakImplHelper8
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper8
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
@@ -134,7 +134,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
-    class SAL_NO_VTABLE WeakAggImplHelper8
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper8
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
@@ -171,7 +171,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
-    class SAL_NO_VTABLE ImplInheritanceHelper8
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper8
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
     {
@@ -239,7 +239,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper8
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper8
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase9.hxx b/cppuhelper/inc/cppuhelper/implbase9.hxx
index 724ca42..a506093 100644
--- a/cppuhelper/inc/cppuhelper/implbase9.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase9.hxx
@@ -81,7 +81,7 @@ namespace cppu
         release() and delegates incoming queryInterface() calls to this base class.
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
-    class SAL_NO_VTABLE ImplHelper9
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper9
         : public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9
     {
@@ -103,7 +103,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
-    class SAL_NO_VTABLE WeakImplHelper9
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper9
         : public OWeakObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9
@@ -135,7 +135,7 @@ namespace cppu
         Your sub class defines method implementations for these interface(s).
     */
     template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
-    class SAL_NO_VTABLE WeakAggImplHelper9
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper9
         : public OWeakAggObject
         , public com::sun::star::lang::XTypeProvider
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9
@@ -172,7 +172,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
-    class SAL_NO_VTABLE ImplInheritanceHelper9
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper9
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9
     {
@@ -240,7 +240,7 @@ namespace cppu
         template argument(s). Your sub class defines method implementations for these interface(s).
     */
     template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 >
-    class SAL_NO_VTABLE AggImplInheritanceHelper9
+    class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper9
         : public BaseClass
         , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9
     {
diff --git a/cppuhelper/inc/cppuhelper/implbase_ex_post.hxx b/cppuhelper/inc/cppuhelper/implbase_ex_post.hxx
index 04353f4..698a710 100644
--- a/cppuhelper/inc/cppuhelper/implbase_ex_post.hxx
+++ b/cppuhelper/inc/cppuhelper/implbase_ex_post.hxx
@@ -52,7 +52,7 @@ struct class_data##N \
     type_entry m_typeEntries[ N + 1 ]; \
 }; \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE ImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplHelper##N \
     : public ::com::sun::star::lang::XTypeProvider \
     , __PUBLIC_IFC##N \
 { \
@@ -69,7 +69,7 @@ template< __CLASS_IFC##N > \
 class_data##N ImplHelper##N< __IFC##N >::s_cd = \
 __DEF_CLASS_DATA_INIT_EX( N, (ImplHelper##N< __IFC##N > *) ); \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE WeakImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakImplHelper##N \
     : public OWeakObject \
     , public ::com::sun::star::lang::XTypeProvider \
     , __PUBLIC_IFC##N \
@@ -91,7 +91,7 @@ template< __CLASS_IFC##N > \
 class_data##N WeakImplHelper##N< __IFC##N >::s_cd = \
 __DEF_CLASS_DATA_INIT_EX( N, (WeakImplHelper##N< __IFC##N > *) ); \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE WeakAggImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggImplHelper##N \
     : public OWeakAggObject \
     , public ::com::sun::star::lang::XTypeProvider \
     , __PUBLIC_IFC##N \
@@ -115,7 +115,7 @@ template< __CLASS_IFC##N > \
 class_data##N WeakAggImplHelper##N< __IFC##N >::s_cd = \
 __DEF_CLASS_DATA_INIT_EX( N, (WeakAggImplHelper##N< __IFC##N > *) ); \
 template< class BaseClass, __CLASS_IFC##N > \
-class SAL_NO_VTABLE ImplInheritanceHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC ImplInheritanceHelper##N \
     : public BaseClass \
     , __PUBLIC_IFC##N \
 { \
@@ -141,7 +141,7 @@ template< class BaseClass, __CLASS_IFC##N > \
 class_data##N ImplInheritanceHelper##N< BaseClass, __IFC##N >::s_cd = \
 __DEF_CLASS_DATA_INIT_EX( N, (ImplInheritanceHelper##N< BaseClass, __IFC##N > *) ); \
 template< class BaseClass, __CLASS_IFC##N > \
-class SAL_NO_VTABLE AggImplInheritanceHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC AggImplInheritanceHelper##N \
     : public BaseClass \
     , __PUBLIC_IFC##N \
 { \
@@ -174,7 +174,7 @@ __DEF_CLASS_DATA_INIT_EX( N, (AggImplInheritanceHelper##N< BaseClass, __IFC##N >
 namespace cppu \
 { \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE WeakComponentImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakComponentImplHelper##N \
     : public WeakComponentImplHelperBase \
     , public ::com::sun::star::lang::XTypeProvider \
     , __PUBLIC_IFC##N \
@@ -199,7 +199,7 @@ template< __CLASS_IFC##N > \
 class_data##N WeakComponentImplHelper##N< __IFC##N >::s_cd = \
 __DEF_CLASS_DATA_INIT_EX( N, (WeakComponentImplHelper##N< __IFC##N > *) ); \
 template< __CLASS_IFC##N > \
-class SAL_NO_VTABLE WeakAggComponentImplHelper##N \
+class SAL_NO_VTABLE CPPUHELPER_DLLPUBLIC WeakAggComponentImplHelper##N \
     : public WeakAggComponentImplHelperBase \
     , public ::com::sun::star::lang::XTypeProvider \
     , __PUBLIC_IFC##N \
diff --git a/vbahelper/inc/vbahelper/vbahelperinterface.hxx b/vbahelper/inc/vbahelper/vbahelperinterface.hxx
index 33bcd40..68217a6 100644
--- a/vbahelper/inc/vbahelper/vbahelperinterface.hxx
+++ b/vbahelper/inc/vbahelper/vbahelperinterface.hxx
@@ -64,7 +64,7 @@
 const ::rtl::OUString sHelperServiceName( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.HelperServiceBase" ) );
 
 template< typename Ifc1 >
-class InheritedHelperInterfaceImpl : public Ifc1
+class VBAHELPER_DLLPUBLIC InheritedHelperInterfaceImpl : public Ifc1
 {
 protected:
     css::uno::WeakReference< ov::XHelperInterface > mxParent;
@@ -110,7 +110,7 @@ public:
  };
 
 template< typename Ifc1 >
-class InheritedHelperInterfaceImpl1 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper1< Ifc1 > >
+class VBAHELPER_DLLPUBLIC InheritedHelperInterfaceImpl1 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper1< Ifc1 > >
 {
     typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper1< Ifc1 > > Base;
 public:
@@ -120,7 +120,7 @@ public:
 };
 
 template< typename Ifc1, typename Ifc2 >
-class InheritedHelperInterfaceImpl2 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper2< Ifc1, Ifc2 > >
+class VBAHELPER_DLLPUBLIC InheritedHelperInterfaceImpl2 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper2< Ifc1, Ifc2 > >
 {
     typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper2< Ifc1, Ifc2 > > Base;
 public:
@@ -130,7 +130,7 @@ public:
 };
 
 template< typename Ifc1, typename Ifc2, typename Ifc3 >
-class InheritedHelperInterfaceImpl3 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper3< Ifc1, Ifc2, Ifc3 > >
+class VBAHELPER_DLLPUBLIC InheritedHelperInterfaceImpl3 : public InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper3< Ifc1, Ifc2, Ifc3 > >
 {
     typedef InheritedHelperInterfaceImpl< ::cppu::WeakImplHelper3< Ifc1, Ifc2, Ifc3 > > Base;
 public:
commit a680eba9a03f368b2e01e283519eaef9ffce9028
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Sat Mar 10 15:35:00 2012 +0100

    SAL_DLLPUBLIC_IMPORT with gcc should not be empty
    
    Otherwise when using a template from another module, an instance
    of it may end up being non-exported even though it's used by
    something exported.

diff --git a/sal/inc/sal/types.h b/sal/inc/sal/types.h
index e8b5662..2894fff 100644
--- a/sal/inc/sal/types.h
+++ b/sal/inc/sal/types.h
@@ -273,7 +273,7 @@ typedef void *                   sal_Handle;
 #     define SAL_DLLPRIVATE        __hidden
 #   elif defined(__GNUC__) && defined(HAVE_GCC_VISIBILITY_FEATURE)
 #     define SAL_DLLPUBLIC_EXPORT  __attribute__ ((visibility("default")))
-#     define SAL_DLLPUBLIC_IMPORT
+#     define SAL_DLLPUBLIC_IMPORT  __attribute__ ((visibility("default")))
 #     define SAL_DLLPRIVATE        __attribute__ ((visibility("hidden")))
 #   else
 #     define SAL_DLLPUBLIC_EXPORT
commit 41d7a444bee3ba8ed7c8d5fbbc57fd29c86ddb19
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Sat Mar 10 15:34:24 2012 +0100

    patch clucene to avoid narrowing conversions
    
    clang errors out on this

diff --git a/clucene/patches/clucene-narrowing-conversions.patch b/clucene/patches/clucene-narrowing-conversions.patch
new file mode 100644
index 0000000..f0e971c
--- /dev/null
+++ b/clucene/patches/clucene-narrowing-conversions.patch
@@ -0,0 +1,25 @@
+--- src/core/CLucene/queryParser/QueryParser.cpp.sav	2011-03-17 01:21:07.000000000 +0100
++++ src/core/CLucene/queryParser/QueryParser.cpp	2012-03-09 18:20:58.000000000 +0100
+@@ -79,7 +79,7 @@
+     _T("<RANGEEX_GOOP>")
+ };
+ 
+-const int32_t QueryParser::jj_la1_0[] = {0x180,0x180,0xe00,0xe00,0x1f69f80,0x48000,0x10000,0x1f69000,0x1348000,0x80000,0x80000,0x10000,0x18000000,0x2000000,0x18000000,0x10000,0x80000000,0x20000000,0x80000000,0x10000,0x80000,0x10000,0x1f68000};
++const int32_t QueryParser::jj_la1_0[] = {0x180,0x180,0xe00,0xe00,0x1f69f80,0x48000,0x10000,0x1f69000,0x1348000,0x80000,0x80000,0x10000,0x18000000,0x2000000,0x18000000,0x10000,int32_t(0x80000000),0x20000000,int32_t(0x80000000),0x10000,0x80000,0x10000,0x1f68000};
+ const int32_t QueryParser::jj_la1_1[] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0};
+ 
+ struct QueryParser::JJCalls {
+--- src/core/CLucene/queryParser/QueryParserTokenManager.cpp.sav	2011-03-17 01:21:07.000000000 +0100
++++ src/core/CLucene/queryParser/QueryParserTokenManager.cpp	2012-03-09 18:20:24.000000000 +0100
+@@ -15,9 +15,9 @@
+ 
+ CL_NS_DEF(queryParser)
+ 
+-const int64_t QueryParserTokenManager::jjbitVec2[]={0x0L, 0x0L, _ILONGLONG(0xffffffffffffffff), _ILONGLONG(0xffffffffffffffff)};
++const int64_t QueryParserTokenManager::jjbitVec2[]={0x0L, 0x0L, int64_t(_ILONGLONG(0xffffffffffffffff)), int64_t(_ILONGLONG(0xffffffffffffffff))};
+ const int64_t QueryParserTokenManager::jjbitVec0[] = {
+-	_ILONGLONG(0xfffffffffffffffe), _ILONGLONG(0xffffffffffffffff), _ILONGLONG(0xffffffffffffffff), _ILONGLONG(0xffffffffffffffff)
++	int64_t(_ILONGLONG(0xfffffffffffffffe)), int64_t(_ILONGLONG(0xffffffffffffffff)), int64_t(_ILONGLONG(0xffffffffffffffff)), int64_t(_ILONGLONG(0xffffffffffffffff))
+ };
+ const int32_t QueryParserTokenManager::jjnextStates[]={
+ 		15, 17, 18, 29, 32, 23, 33, 30, 20, 21, 32, 23, 33, 31, 34, 27,
diff --git a/clucene/source/Makefile b/clucene/source/Makefile
index 2e06a84..f3826ee 100644
--- a/clucene/source/Makefile
+++ b/clucene/source/Makefile
@@ -43,6 +43,7 @@ done :
 	$(GNUPATCH) -p0 < $(SRCDIR)/clucene/patches/clucene-warnings.patch
 	$(GNUPATCH) -p0 < $(SRCDIR)/clucene/patches/clucene-gcc-atomics.patch
 	$(GNUPATCH) -p0 < $(SRCDIR)/clucene/patches/clucene-debug.patch
+	$(GNUPATCH) -p0 < $(SRCDIR)/clucene/patches/clucene-narrowing-conversions.patch
 	#FIXME ?, our rules expect .cxx
 	for i in `find . -name "*.cpp"`; do mv $$i $${i%%cpp}cxx; done
 ifneq ($(OS),WNT)
commit 4dd7a3f12e81e3db272bc3049c6c33661d81678c
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Sat Mar 10 15:06:02 2012 +0100

    write unsigned char[] contents as numbers rather than string literal
    
    The real reason for this change is that clang aborts with a fatal
    error in backend (http://llvm.org/bugs/show_bug.cgi?id=12226),
    but I'm not sure whether this was a correct construct in the first
    place anyway. The contents are above 0x7f, which may be outside
    the range of plain char, if it is signed, so maybe the result is undefined.
    I don't want to spend the time checking in the spec,
    but this new variant is technically the same and it is safe.

diff --git a/hwpfilter/source/hbox.cxx b/hwpfilter/source/hbox.cxx
index 8d6210b..1dafc77 100644
--- a/hwpfilter/source/hbox.cxx
+++ b/hwpfilter/source/hbox.cxx
@@ -460,7 +460,7 @@ int MailMerge::GetString(hchar * hstr, int )
 static hchar olHanglJaso(int num, int type)
 {
     static const unsigned char han_init[] =
-        { "\x88\x90\x94\x9c\xa0\xa4\xac\xb4\xb8\xc0\xc4\xc8\xcc\xd0" };
+        { 0x88, 0x90, 0x94, 0x9c, 0xa0, 0xa4, 0xac, 0xb4, 0xb8, 0xc0, 0xc4, 0xc8, 0xcc, 0xd0 };
     static const unsigned char jung[] = { 3, 5, 7, 11, 13, 19, 20, 26, 27, 29, 30 };
     static const unsigned char jung2[] = { 3, 7, 13, 20, 27, 29, 30 };
 
commit 80e4b4e5c6cdb33dbd7aff62a71a5112ead214e2
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Sat Mar 10 14:24:40 2012 +0100

    mark static data that is const as const

diff --git a/hwpfilter/source/datecode.h b/hwpfilter/source/datecode.h
index 8d49e65..3bc13dd 100644
--- a/hwpfilter/source/datecode.h
+++ b/hwpfilter/source/datecode.h
@@ -29,27 +29,27 @@
 #ifndef __DATECODE_H__
 #define __DATACODE_H__
 
-static hchar defaultform[] =
+static const hchar defaultform[] =
 {
     '1', 0x9165, 32, '2', 0xB6A9, 32, '3', 0xB7A9, 0
 };
 #ifdef _DATECODE_WEEK_DEFINES_
-static hchar kor_week[] =
+static const hchar kor_week[] =
 {
     0xB7A9, 0xB6A9, 0xD1C1, 0xAE81, 0xA1A2, 0x8B71, 0xC9A1
 };
-static hchar china_week[] =
+static const hchar china_week[] =
 {
     0x4CC8, 0x4BE4, 0x525A, 0x48D8, 0x45AB, 0x4270, 0x50B4
 };
-static char eng_week[] = { "SunMonTueWedThuFriSat" };
-static char eng_mon[] = { "JanFebMarAprMayJunJulAugSepOctNovDec" };
-static const char *en_mon[] =
+static const char eng_week[] = { "SunMonTueWedThuFriSat" };
+static const char eng_mon[] = { "JanFebMarAprMayJunJulAugSepOctNovDec" };
+static const char * const en_mon[] =
 {
     "January", "February", "March", "April", "May", "June", "July",
     "August", "September", "October", "November", "December"
 };
-static const char *en_week[] =
+static const char * const en_week[] =
 {
     "Sunday", "Monday", "Tuesday", "Wednesday",
     "Thursday", "Friday", "Saturday"
diff --git a/hwpfilter/source/hbox.cxx b/hwpfilter/source/hbox.cxx
index df334ac..8d6210b 100644
--- a/hwpfilter/source/hbox.cxx
+++ b/hwpfilter/source/hbox.cxx
@@ -57,7 +57,7 @@ HBox::~HBox()
 
 int HBox::WSize(void)
 {
-    static int wsize[32] =
+    static const int wsize[32] =
     {
         1, 4, 4, 4, 4, 4, 4, 42,                  /* dateform */
         48, 4, 4, 4, 4, 1, 4, 4,                  /* hidden */
@@ -154,7 +154,8 @@ DateCode::DateCode(void):HBox(CH_DATE_CODE)
 
 int DateCode::GetString(hchar * hstr, int slen)
 {
-    hchar *fmt, *d;
+    const hchar *fmt;
+    hchar *d;
     int i, num;
     const char *form;
     char cbuf[256];
@@ -458,10 +459,10 @@ int MailMerge::GetString(hchar * hstr, int )
 
 static hchar olHanglJaso(int num, int type)
 {
-    static unsigned char han_init[] =
+    static const unsigned char han_init[] =
         { "\x88\x90\x94\x9c\xa0\xa4\xac\xb4\xb8\xc0\xc4\xc8\xcc\xd0" };
-    static unsigned char jung[] = { 3, 5, 7, 11, 13, 19, 20, 26, 27, 29, 30 };
-    static unsigned char jung2[] = { 3, 7, 13, 20, 27, 29, 30 };
+    static const unsigned char jung[] = { 3, 5, 7, 11, 13, 19, 20, 26, 27, 29, 30 };
+    static const unsigned char jung2[] = { 3, 7, 13, 20, 27, 29, 30 };
 
     hchar hh = 0;
 
@@ -490,9 +491,9 @@ static hchar olHanglJaso(int num, int type)
 }
 
 
-static hchar *GetOutlineStyleChars(int style)
+static const hchar *GetOutlineStyleChars(int style)
 {
-    static hchar out_bul_style_entry[5][8] =      // extern
+    static const hchar out_bul_style_entry[5][8] =      // extern
     {
         {                                         // 0 OLSTY_BULLET1
             0x2f18, 0x2f12, 0x2f08, 0x2f02, 0x2f06, 0x2f00, 0x2043, 0x0000
@@ -523,7 +524,7 @@ static void getOutlineNumStr(int style, int level, int num, hchar * hstr)
         U_ROM = 0x01, L_ROM = 0x02, U_ENG = 0x04, L_ENG = 0x08,
         HAN = 0x10, NUM = 0x20, L_BR = 0x40, R_BR = 0x80
     };
-    static unsigned char type_tbl[][MAX_OUTLINE_LEVEL] =
+    static const unsigned char type_tbl[][MAX_OUTLINE_LEVEL] =
     {
         {
             U_ROM, HAN, NUM, HAN | R_BR, L_BR | NUM | R_BR,
@@ -590,7 +591,7 @@ enum
  */
 hchar *Outline::GetUnicode(hchar * hstr, int)
 {
-    hchar *p;
+    const hchar *p;
      hchar buffer[255];
 
     buffer[0] = 0;
diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx
index 4d47325..f254d95 100644
--- a/hwpfilter/source/hwpreader.cxx
+++ b/hwpfilter/source/hwpreader.cxx
@@ -3311,7 +3311,7 @@ void HwpReader::makeDateFormat(DateCode * hbox)
     int zero_check = 0;
     hbox->format[DATE_SIZE -1] = 0;
 
-    hchar *fmt = hbox->format[0] ? hbox->format : defaultform;
+    const hchar *fmt = hbox->format[0] ? hbox->format : defaultform;
 
     for( ; *fmt ; fmt++ )
     {


More information about the Libreoffice-commits mailing list