summaryrefslogtreecommitdiff
path: root/include/com
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-01-26 14:57:05 +0100
committerStephan Bergmann <sbergman@redhat.com>2015-01-26 15:17:28 +0100
commit598d8194b0ea1a64e0ebba28a86c128bafa57c7c (patch)
treec81c2a85795c6218327d2c40dc2a52850a7d22ef /include/com
parent64235bc9896911b4abfca47089ac1e71056afea7 (diff)
Visible function type RTTI for Clang -fsanitize=function
...by adding some further SAL_DLLPUBLIC_RTTI type annotations (cf. b4f6b26b5a1a78fecfa95ec2eb7ac8b80495d8aa "SAL_DLLPUBLIC_RTTI for proper RTTI visibility for LLVM") and by making sure relevant function types do not use incomplete types in their parameter and return types (which would make the RTTI hidden). Change-Id: Id7aadcbc0704b9759968ae36266fc9ce11a2e340
Diffstat (limited to 'include/com')
-rw-r--r--include/com/sun/star/uno/Any.h2
-rw-r--r--include/com/sun/star/uno/Reference.h2
-rw-r--r--include/com/sun/star/uno/Sequence.h2
-rw-r--r--include/com/sun/star/uno/Type.h2
4 files changed, 4 insertions, 4 deletions
diff --git a/include/com/sun/star/uno/Any.h b/include/com/sun/star/uno/Any.h
index 2f44d741bcd2..ea69ec7e696d 100644
--- a/include/com/sun/star/uno/Any.h
+++ b/include/com/sun/star/uno/Any.h
@@ -46,7 +46,7 @@ class Type;
return true if the any contains an assignable value (no data loss), e.g. the any contains a
short and you >>= it into a long variable.
*/
-class SAL_WARN_UNUSED Any : public uno_Any
+class SAL_WARN_UNUSED SAL_DLLPUBLIC_RTTI Any : public uno_Any
{
public:
/// @cond INTERNAL
diff --git a/include/com/sun/star/uno/Reference.h b/include/com/sun/star/uno/Reference.h
index 47a5c171e2d1..91db7f59cb65 100644
--- a/include/com/sun/star/uno/Reference.h
+++ b/include/com/sun/star/uno/Reference.h
@@ -213,7 +213,7 @@ template< typename T2 > struct UpCast< XInterface, T2 > {};
for reference type.
*/
template< class interface_type >
-class Reference : public BaseReference
+class SAL_DLLPUBLIC_RTTI Reference : public BaseReference
{
/** Queries given interface for type interface_type.
diff --git a/include/com/sun/star/uno/Sequence.h b/include/com/sun/star/uno/Sequence.h
index 21e3e9df6156..b52894ddbc32 100644
--- a/include/com/sun/star/uno/Sequence.h
+++ b/include/com/sun/star/uno/Sequence.h
@@ -52,7 +52,7 @@ namespace uno
@tparam E element type of sequence
*/
template< class E >
-class SAL_WARN_UNUSED Sequence
+class SAL_WARN_UNUSED SAL_DLLPUBLIC_RTTI Sequence
{
/** sequence handle
*/
diff --git a/include/com/sun/star/uno/Type.h b/include/com/sun/star/uno/Type.h
index 45a866013747..c1d0590482ef 100644
--- a/include/com/sun/star/uno/Type.h
+++ b/include/com/sun/star/uno/Type.h
@@ -51,7 +51,7 @@ enum UnoType_NoAcquire
@see typelib_TypeDescriptionReference
*/
-class SAL_WARN_UNUSED Type
+class SAL_WARN_UNUSED SAL_DLLPUBLIC_RTTI Type
{
/** the C typelib reference pointer
*/