summaryrefslogtreecommitdiff
path: root/sw/inc
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-04-16 16:11:39 +0200
committerStephan Bergmann <sbergman@redhat.com>2019-05-03 13:46:25 +0200
commit9a7aa3326d087c79879e435179e359dd76aa5e0a (patch)
tree444364cd0af0a8741b2ec206e29a8cb5cda1ef57 /sw/inc
parentc0038f61aff45595c962911f16dfdef93f41924e (diff)
The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux...
...with latest Clang trunk towards Clang 9. All the no-longer necessary hacks are made conditional on new NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY, which is still set for UBSan builds with older Clang on Linux (but which should eventually be purged). Various classes needed additional SAL_DLLPUBLIC_RTTI annotations, as building with UBSan instrumentation can generate references to RTTI symbols from additional places like outside a dynamic library that used to hide those symbols by default (but used to not hide them for old UBSan builds thanks to the -fvisibility-ms-compat hack). The odr-violation suppressions in solenv/sanitizers/asan-suppressions (which is not referenced from anywhere in the code base, but meant to be included in an ASan/UBSan build's ASAN_OPTIONS env var) are also no longer needed when NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY is false. Change-Id: I24ec3e388b0cbab50dbe2bf008d9569bff7bf25a Reviewed-on: https://gerrit.libreoffice.org/70829 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sw/inc')
-rw-r--r--sw/inc/AnnotationWin.hxx2
-rw-r--r--sw/inc/PostItMgr.hxx2
-rw-r--r--sw/inc/authfld.hxx2
-rw-r--r--sw/inc/dcontact.hxx2
-rw-r--r--sw/inc/docufld.hxx22
-rw-r--r--sw/inc/expfld.hxx4
-rw-r--r--sw/inc/flddat.hxx2
-rw-r--r--sw/inc/flddropdown.hxx2
-rw-r--r--sw/inc/fmtautofmt.hxx2
-rw-r--r--sw/inc/fmtflcnt.hxx2
-rw-r--r--sw/inc/fmtrfmrk.hxx2
-rw-r--r--sw/inc/grfatr.hxx2
-rw-r--r--sw/inc/modcfg.hxx10
-rw-r--r--sw/inc/node.hxx2
-rw-r--r--sw/inc/reffld.hxx2
-rw-r--r--sw/inc/swatrset.hxx2
-rw-r--r--sw/inc/txtfld.hxx2
-rw-r--r--sw/inc/txttxmrk.hxx2
-rw-r--r--sw/inc/unocrsr.hxx2
19 files changed, 34 insertions, 34 deletions
diff --git a/sw/inc/AnnotationWin.hxx b/sw/inc/AnnotationWin.hxx
index 5295c93f641e..e4c509641851 100644
--- a/sw/inc/AnnotationWin.hxx
+++ b/sw/inc/AnnotationWin.hxx
@@ -56,7 +56,7 @@ namespace sw { namespace sidebarwindows {
namespace sw { namespace annotation {
-class SwAnnotationWin : public vcl::Window
+class SAL_DLLPUBLIC_RTTI SwAnnotationWin : public vcl::Window
{
public:
SwAnnotationWin( SwEditWin& rEditWin,
diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx
index b6f8242864f0..d34ae3f34b72 100644
--- a/sw/inc/PostItMgr.hxx
+++ b/sw/inc/PostItMgr.hxx
@@ -124,7 +124,7 @@ class SwNoteProps: public utl::ConfigItem
virtual void Notify( const css::uno::Sequence< OUString >& aPropertyNames ) override;
};
-class SwPostItMgr: public SfxListener
+class SAL_DLLPUBLIC_RTTI SwPostItMgr: public SfxListener
{
private:
SwView* mpView;
diff --git a/sw/inc/authfld.hxx b/sw/inc/authfld.hxx
index ea92f4289d9b..9a9ba06c13c1 100644
--- a/sw/inc/authfld.hxx
+++ b/sw/inc/authfld.hxx
@@ -145,7 +145,7 @@ public:
one of the instances with the same m_nHandle is actually in the document,
they're all cloned via CopyField()...
*/
-class SwAuthorityField : public SwField
+class SAL_DLLPUBLIC_RTTI SwAuthorityField : public SwField
{
rtl::Reference<SwAuthEntry> m_xAuthEntry;
mutable sal_IntPtr m_nTempSequencePos;
diff --git a/sw/inc/dcontact.hxx b/sw/inc/dcontact.hxx
index d19befc69a96..175b98de3231 100644
--- a/sw/inc/dcontact.hxx
+++ b/sw/inc/dcontact.hxx
@@ -302,7 +302,7 @@ bool CheckControlLayer( const SdrObject *pObj );
typedef std::unique_ptr< SwDrawVirtObj, SdrObjectFreeOp > SwDrawVirtObjPtr;
-class SwDrawContact final : public SwContact
+class SAL_DLLPUBLIC_RTTI SwDrawContact final : public SwContact
{
private:
/** anchored drawing object instance for the
diff --git a/sw/inc/docufld.hxx b/sw/inc/docufld.hxx
index d6ff1692e5bf..bdd7fd68756f 100644
--- a/sw/inc/docufld.hxx
+++ b/sw/inc/docufld.hxx
@@ -123,7 +123,7 @@ enum SwJumpEditFormat
JE_FMT_OLE
};
-class SwPageNumberFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwPageNumberFieldType : public SwFieldType
{
SvxNumType m_nNumberingType;
bool m_bVirtual;
@@ -196,7 +196,7 @@ public:
virtual bool PutValue( const css::uno::Any& rVal, sal_uInt16 nWhich ) override;
};
-class SwFileNameFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwFileNameFieldType : public SwFieldType
{
SwDoc *m_pDoc;
public:
@@ -222,7 +222,7 @@ public:
virtual bool PutValue( const css::uno::Any& rVal, sal_uInt16 nWhich ) override;
};
-class SwTemplNameFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwTemplNameFieldType : public SwFieldType
{
SwDoc *m_pDoc;
public:
@@ -244,7 +244,7 @@ public:
};
// Document statistics
-class SwDocStatFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwDocStatFieldType : public SwFieldType
{
SwDoc* m_pDoc;
SvxNumType m_nNumberingType;
@@ -276,7 +276,7 @@ public:
virtual bool PutValue( const css::uno::Any& rVal, sal_uInt16 nWhich ) override;
};
-class SwHiddenTextFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwHiddenTextFieldType : public SwFieldType
{
bool m_bHidden;
public:
@@ -375,7 +375,7 @@ public:
virtual bool PutValue( const css::uno::Any& rVal, sal_uInt16 nWhich ) override;
};
-class SwMacroFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwMacroFieldType : public SwFieldType
{
SwDoc* const m_pDoc;
@@ -423,7 +423,7 @@ public:
static bool isScriptURL( const OUString& str );
};
-class SwPostItFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwPostItFieldType : public SwFieldType
{
private:
SwDoc* const mpDoc;
@@ -496,7 +496,7 @@ public:
virtual void dumpAsXml(xmlTextWriterPtr pWriter) const override;
};
-class SwDocInfoFieldType : public SwValueFieldType
+class SAL_DLLPUBLIC_RTTI SwDocInfoFieldType : public SwValueFieldType
{
public:
SwDocInfoFieldType(SwDoc* pDc);
@@ -573,7 +573,7 @@ protected:
};
// Relative page numbering.
-class SwRefPageSetField : public SwField
+class SAL_DLLPUBLIC_RTTI SwRefPageSetField : public SwField
{
short m_nOffset;
bool m_bOn;
@@ -680,7 +680,7 @@ public:
virtual std::unique_ptr<SwFieldType> Copy() const override;
};
-class SwScriptField : public SwField
+class SAL_DLLPUBLIC_RTTI SwScriptField : public SwField
{
OUString m_sType; ///< Type of Code (Java/VBScript/...)
OUString m_sCode; /**< Code as text.
@@ -711,7 +711,7 @@ public:
};
// Combined Character Fieldtype
-class SwCombinedCharFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwCombinedCharFieldType : public SwFieldType
{
public:
SwCombinedCharFieldType();
diff --git a/sw/inc/expfld.hxx b/sw/inc/expfld.hxx
index 23d00b3d9fbb..dcd1354619b3 100644
--- a/sw/inc/expfld.hxx
+++ b/sw/inc/expfld.hxx
@@ -67,7 +67,7 @@ public:
void Clear() { maData.clear(); }
};
-class SwGetExpFieldType : public SwValueFieldType
+class SAL_DLLPUBLIC_RTTI SwGetExpFieldType : public SwValueFieldType
{
public:
SwGetExpFieldType(SwDoc* pDoc);
@@ -268,7 +268,7 @@ inline bool SwSetExpField::GetInputFlag() const
inline bool SwSetExpField::IsSequenceField() const
{ return 0 != (nsSwGetSetExpType::GSE_SEQ & static_cast<SwSetExpFieldType*>(GetTyp())->GetType()); }
-class SwInputFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwInputFieldType : public SwFieldType
{
SwDoc* const mpDoc;
public:
diff --git a/sw/inc/flddat.hxx b/sw/inc/flddat.hxx
index 38ea963196b9..bdc7c93a2c10 100644
--- a/sw/inc/flddat.hxx
+++ b/sw/inc/flddat.hxx
@@ -32,7 +32,7 @@ enum SwDateSubFormat
DATE_VAR
};
-class SwDateTimeFieldType : public SwValueFieldType
+class SAL_DLLPUBLIC_RTTI SwDateTimeFieldType : public SwValueFieldType
{
public:
SwDateTimeFieldType(SwDoc* pDoc);
diff --git a/sw/inc/flddropdown.hxx b/sw/inc/flddropdown.hxx
index cc29a2e84c7f..2fbf8d0b6bb2 100644
--- a/sw/inc/flddropdown.hxx
+++ b/sw/inc/flddropdown.hxx
@@ -28,7 +28,7 @@
/**
Field type for dropdown boxes.
*/
-class SwDropDownFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwDropDownFieldType : public SwFieldType
{
public:
/**
diff --git a/sw/inc/fmtautofmt.hxx b/sw/inc/fmtautofmt.hxx
index 76527f90ddfe..0863ca5e7c1b 100644
--- a/sw/inc/fmtautofmt.hxx
+++ b/sw/inc/fmtautofmt.hxx
@@ -22,7 +22,7 @@
#include <svl/poolitem.hxx>
#include <memory>
-class SwFormatAutoFormat: public SfxPoolItem
+class SAL_DLLPUBLIC_RTTI SwFormatAutoFormat: public SfxPoolItem
{
std::shared_ptr<SfxItemSet> mpHandle;
diff --git a/sw/inc/fmtflcnt.hxx b/sw/inc/fmtflcnt.hxx
index 18ba66c2fb48..ffe143e434f6 100644
--- a/sw/inc/fmtflcnt.hxx
+++ b/sw/inc/fmtflcnt.hxx
@@ -29,7 +29,7 @@ class SwTextFlyCnt;
*
* A pool item that is attached to the placeholder character of an as-character frame. (TextFrame, etc.)
*/
-class SwFormatFlyCnt : public SfxPoolItem
+class SAL_DLLPUBLIC_RTTI SwFormatFlyCnt : public SfxPoolItem
{
friend class SwTextFlyCnt;
SwTextFlyCnt* m_pTextAttr;
diff --git a/sw/inc/fmtrfmrk.hxx b/sw/inc/fmtrfmrk.hxx
index b235961baf5b..0b10bfeb8ed6 100644
--- a/sw/inc/fmtrfmrk.hxx
+++ b/sw/inc/fmtrfmrk.hxx
@@ -33,7 +33,7 @@ class SwTextRefMark;
// ATT_REFMARK
-class SwFormatRefMark
+class SAL_DLLPUBLIC_RTTI SwFormatRefMark
: public SfxPoolItem
, public SwModify
, public sw::BroadcasterMixin
diff --git a/sw/inc/grfatr.hxx b/sw/inc/grfatr.hxx
index 6cdd70b9a768..87db52a36ab9 100644
--- a/sw/inc/grfatr.hxx
+++ b/sw/inc/grfatr.hxx
@@ -77,7 +77,7 @@ public:
virtual SfxPoolItem* Clone( SfxItemPool *pPool = nullptr ) const override;
};
-class SwRotationGrf : public SfxUInt16Item
+class SAL_DLLPUBLIC_RTTI SwRotationGrf : public SfxUInt16Item
{
private:
Size const aUnrotatedSize;
diff --git a/sw/inc/modcfg.hxx b/sw/inc/modcfg.hxx
index 795d1f382fdc..e7854ef8fb9f 100644
--- a/sw/inc/modcfg.hxx
+++ b/sw/inc/modcfg.hxx
@@ -57,7 +57,7 @@ public:
void Insert(InsCaptionOpt* pObj);
};
-class SwRevisionConfig : public utl::ConfigItem
+class SAL_DLLPUBLIC_RTTI SwRevisionConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
@@ -90,7 +90,7 @@ enum class SwCompareMode
ByChar
};
-class SwCompareConfig : public utl::ConfigItem
+class SAL_DLLPUBLIC_RTTI SwCompareConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
@@ -114,7 +114,7 @@ public:
using ConfigItem::SetModified;
};
-class SwInsertConfig : public utl::ConfigItem
+class SAL_DLLPUBLIC_RTTI SwInsertConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
@@ -142,7 +142,7 @@ public:
using ConfigItem::SetModified;
};
-class SwTableConfig : public utl::ConfigItem
+class SAL_DLLPUBLIC_RTTI SwTableConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
@@ -170,7 +170,7 @@ public:
using ConfigItem::SetModified;
};
-class SwMiscConfig : public utl::ConfigItem
+class SAL_DLLPUBLIC_RTTI SwMiscConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
diff --git a/sw/inc/node.hxx b/sw/inc/node.hxx
index 1b53254083de..d1e0f36fcae7 100644
--- a/sw/inc/node.hxx
+++ b/sw/inc/node.hxx
@@ -520,7 +520,7 @@ private:
SwTableNode & operator= ( const SwTableNode & rNode ) = delete;
};
-class SwSectionNode
+class SAL_DLLPUBLIC_RTTI SwSectionNode
: public SwStartNode
{
friend class SwNodes;
diff --git a/sw/inc/reffld.hxx b/sw/inc/reffld.hxx
index 4adf0becfc31..f2c61877b180 100644
--- a/sw/inc/reffld.hxx
+++ b/sw/inc/reffld.hxx
@@ -60,7 +60,7 @@ enum REFERENCEMARK
/// Get reference.
-class SwGetRefFieldType : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwGetRefFieldType : public SwFieldType
{
SwDoc* m_pDoc;
protected:
diff --git a/sw/inc/swatrset.hxx b/sw/inc/swatrset.hxx
index d446dcddcc51..48cc2d6f0e20 100644
--- a/sw/inc/swatrset.hxx
+++ b/sw/inc/swatrset.hxx
@@ -132,7 +132,7 @@ namespace vcl {
typedef OutputDevice RenderContext;
};
-class SwAttrPool : public SfxItemPool
+class SAL_DLLPUBLIC_RTTI SwAttrPool : public SfxItemPool
{
private:
// helpers to add/rmove DrawingLayer ItemPool, used in constructor
diff --git a/sw/inc/txtfld.hxx b/sw/inc/txtfld.hxx
index 38ca9caa6251..0db27ba5818a 100644
--- a/sw/inc/txtfld.hxx
+++ b/sw/inc/txtfld.hxx
@@ -28,7 +28,7 @@
class SwPaM;
class SwTextNode;
-class SwTextField : public virtual SwTextAttr
+class SAL_DLLPUBLIC_RTTI SwTextField : public virtual SwTextAttr
{
mutable OUString m_aExpand; // only used to determine, if field content is changing in <ExpandTextField()>
SwTextNode * m_pTextNode;
diff --git a/sw/inc/txttxmrk.hxx b/sw/inc/txttxmrk.hxx
index 2329c1c5012e..a0c26987b707 100644
--- a/sw/inc/txttxmrk.hxx
+++ b/sw/inc/txttxmrk.hxx
@@ -25,7 +25,7 @@ class SwTextNode;
class SwDoc;
// Attribute for indices/tables of contents.
-class SwTextTOXMark : public SwTextAttrEnd
+class SAL_DLLPUBLIC_RTTI SwTextTOXMark : public SwTextAttrEnd
{
SwTextNode * m_pTextNode;
sal_Int32 * m_pEnd; // 0 if SwTOXMark without AlternativeText
diff --git a/sw/inc/unocrsr.hxx b/sw/inc/unocrsr.hxx
index bcc0a5f27ae8..9a10a891c032 100644
--- a/sw/inc/unocrsr.hxx
+++ b/sw/inc/unocrsr.hxx
@@ -32,7 +32,7 @@ namespace sw
};
}
-class SwUnoCursor : public virtual SwCursor
+class SAL_DLLPUBLIC_RTTI SwUnoCursor : public virtual SwCursor
{
private:
bool m_bRemainInSection : 1;