From 9a7aa3326d087c79879e435179e359dd76aa5e0a Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 16 Apr 2019 16:11:39 +0200 Subject: 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 --- sc/inc/chgtrack.hxx | 10 +++++----- sc/inc/dapiuno.hxx | 2 +- sc/inc/dbdata.hxx | 2 +- sc/inc/queryparam.hxx | 4 ++-- sc/inc/scmod.hxx | 2 +- sc/inc/stlsheet.hxx | 2 +- sc/inc/userdat.hxx | 2 +- sc/source/ui/inc/dbfunc.hxx | 2 +- sc/source/ui/inc/gridwin.hxx | 2 +- sc/source/ui/inc/preview.hxx | 2 +- sc/source/ui/inc/transobj.hxx | 2 +- 11 files changed, 16 insertions(+), 16 deletions(-) (limited to 'sc') diff --git a/sc/inc/chgtrack.hxx b/sc/inc/chgtrack.hxx index 65f049ad163f..fa18d418dfc6 100644 --- a/sc/inc/chgtrack.hxx +++ b/sc/inc/chgtrack.hxx @@ -174,7 +174,7 @@ public: // this is only for the XML Export in the hxx class ScChangeActionContent; -class ScChangeAction +class SAL_DLLPUBLIC_RTTI ScChangeAction { friend class ScChangeTrack; friend class ScChangeActionIns; @@ -363,7 +363,7 @@ public: }; // ScChangeActionIns -class ScChangeActionIns : public ScChangeAction +class SAL_DLLPUBLIC_RTTI ScChangeActionIns : public ScChangeAction { friend class ScChangeTrack; @@ -398,7 +398,7 @@ public: }; // ScChangeActionDel -class ScChangeActionMove; +class SAL_DLLPUBLIC_RTTI ScChangeActionMove; class ScChangeActionDelMoveEntry : public ScChangeActionLinkEntry { @@ -597,7 +597,7 @@ enum ScChangeActionContentCellType SC_CACCT_MATREF }; -class ScChangeActionContent : public ScChangeAction +class SAL_DLLPUBLIC_RTTI ScChangeActionContent : public ScChangeAction { friend class ScChangeTrack; @@ -817,7 +817,7 @@ enum ScChangeTrackMergeState // and are decremented, to keep values in a table separated from "normal" actions. #define SC_CHGTRACK_GENERATED_START (sal_uInt32(0xfffffff0)) -class ScChangeTrack : public utl::ConfigurationListener +class SAL_DLLPUBLIC_RTTI ScChangeTrack : public utl::ConfigurationListener { friend void ScChangeAction::RejectRestoreContents( ScChangeTrack*, SCCOL, SCROW ); friend bool ScChangeActionDel::Reject( ScDocument* pDoc ); diff --git a/sc/inc/dapiuno.hxx b/sc/inc/dapiuno.hxx index 872745086d98..ad6f9b275502 100644 --- a/sc/inc/dapiuno.hxx +++ b/sc/inc/dapiuno.hxx @@ -128,7 +128,7 @@ public: }; // ScDataPilotDescriptorBase is never instantiated directly -class ScDataPilotDescriptorBase : public css::sheet::XDataPilotDescriptor, +class SAL_DLLPUBLIC_RTTI ScDataPilotDescriptorBase : public css::sheet::XDataPilotDescriptor, public css::beans::XPropertySet, public css::sheet::XDataPilotDataLayoutFieldSupplier, public css::lang::XServiceInfo, diff --git a/sc/inc/dbdata.hxx b/sc/inc/dbdata.hxx index 9a260b4e8390..7fd60a530b66 100644 --- a/sc/inc/dbdata.hxx +++ b/sc/inc/dbdata.hxx @@ -58,7 +58,7 @@ protected: ScRangeList maDirtyTableColumnNames; }; -class ScDBData : public SvtListener, public ScRefreshTimer +class SAL_DLLPUBLIC_RTTI ScDBData : public SvtListener, public ScRefreshTimer { private: std::unique_ptr mpSortParam; diff --git a/sc/inc/queryparam.hxx b/sc/inc/queryparam.hxx index 594b21d56057..b06496547d7e 100644 --- a/sc/inc/queryparam.hxx +++ b/sc/inc/queryparam.hxx @@ -39,7 +39,7 @@ class SharedStringPool; } -struct ScQueryParamBase +struct SAL_DLLPUBLIC_RTTI ScQueryParamBase { utl::SearchParam::SearchType eSearchType; bool bHasHeader; @@ -99,7 +99,7 @@ inline std::basic_ostream & operator <<(std::basic_ostream