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

Stephan Bergmann sbergman at redhat.com
Mon Mar 12 01:24:42 PDT 2012


On 03/10/2012 04:39 PM, Lubos Lunak wrote:
> 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>  \
>   { \

Does this workaround for <http://llvm.org/bugs/show_bug.cgi?id=10113> 
(where I'm still not convinced it is a user error vs. a compiler error) 
work well with MSVC?  I wonder because there all consumers of the 
template (outside of cppuhelper) will see it as __declspec(dllimport), 
and (as long as there is no instantiation in cppuhelper) there is no 
place that would emit it as __declspec(dllexport).

Stephan


More information about the LibreOffice mailing list