On 03/10/2012 04:39 PM, Lubos Lunak wrote:
commit 34f8495dd948e2ad9d64c2c19110e69840cefd1a Author: Luboš Luňák<[email protected]> Date: Sat Mar 10 15:37:02 2012 +0100exported 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 _______________________________________________ LibreOffice mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice
