diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2019-04-16 16:11:39 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2019-05-03 13:46:25 +0200 |
commit | 9a7aa3326d087c79879e435179e359dd76aa5e0a (patch) | |
tree | 444364cd0af0a8741b2ec206e29a8cb5cda1ef57 /sw/inc | |
parent | c0038f61aff45595c962911f16dfdef93f41924e (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.hxx | 2 | ||||
-rw-r--r-- | sw/inc/PostItMgr.hxx | 2 | ||||
-rw-r--r-- | sw/inc/authfld.hxx | 2 | ||||
-rw-r--r-- | sw/inc/dcontact.hxx | 2 | ||||
-rw-r--r-- | sw/inc/docufld.hxx | 22 | ||||
-rw-r--r-- | sw/inc/expfld.hxx | 4 | ||||
-rw-r--r-- | sw/inc/flddat.hxx | 2 | ||||
-rw-r--r-- | sw/inc/flddropdown.hxx | 2 | ||||
-rw-r--r-- | sw/inc/fmtautofmt.hxx | 2 | ||||
-rw-r--r-- | sw/inc/fmtflcnt.hxx | 2 | ||||
-rw-r--r-- | sw/inc/fmtrfmrk.hxx | 2 | ||||
-rw-r--r-- | sw/inc/grfatr.hxx | 2 | ||||
-rw-r--r-- | sw/inc/modcfg.hxx | 10 | ||||
-rw-r--r-- | sw/inc/node.hxx | 2 | ||||
-rw-r--r-- | sw/inc/reffld.hxx | 2 | ||||
-rw-r--r-- | sw/inc/swatrset.hxx | 2 | ||||
-rw-r--r-- | sw/inc/txtfld.hxx | 2 | ||||
-rw-r--r-- | sw/inc/txttxmrk.hxx | 2 | ||||
-rw-r--r-- | sw/inc/unocrsr.hxx | 2 |
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; |