summaryrefslogtreecommitdiff
path: root/sc
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 /sc
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 'sc')
-rw-r--r--sc/inc/chgtrack.hxx10
-rw-r--r--sc/inc/dapiuno.hxx2
-rw-r--r--sc/inc/dbdata.hxx2
-rw-r--r--sc/inc/queryparam.hxx4
-rw-r--r--sc/inc/scmod.hxx2
-rw-r--r--sc/inc/stlsheet.hxx2
-rw-r--r--sc/inc/userdat.hxx2
-rw-r--r--sc/source/ui/inc/dbfunc.hxx2
-rw-r--r--sc/source/ui/inc/gridwin.hxx2
-rw-r--r--sc/source/ui/inc/preview.hxx2
-rw-r--r--sc/source/ui/inc/transobj.hxx2
11 files changed, 16 insertions, 16 deletions
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<ScSortParam> 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<charT, traits> & operator <<(std::basic_ostream<charT,
return stream;
}
-struct ScQueryParamTable
+struct SAL_DLLPUBLIC_RTTI ScQueryParamTable
{
SCCOL nCol1;
SCROW nRow1;
diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx
index 2c517eedf770..7d0d7e0a3675 100644
--- a/sc/inc/scmod.hxx
+++ b/sc/inc/scmod.hxx
@@ -77,7 +77,7 @@ class ScMarkData;
struct ScDragData;
class SfxDialogController;
-class ScModule: public SfxModule, public SfxListener, public utl::ConfigurationListener
+class SAL_DLLPUBLIC_RTTI ScModule: public SfxModule, public SfxListener, public utl::ConfigurationListener
{
Timer m_aIdleTimer;
Idle m_aSpellIdle;
diff --git a/sc/inc/stlsheet.hxx b/sc/inc/stlsheet.hxx
index bd5aa843d8b4..69bc83be6365 100644
--- a/sc/inc/stlsheet.hxx
+++ b/sc/inc/stlsheet.hxx
@@ -26,7 +26,7 @@
class ScStyleSheetPool;
-class ScStyleSheet final : public SfxStyleSheet
+class SAL_DLLPUBLIC_RTTI ScStyleSheet final : public SfxStyleSheet
{
friend class ScStyleSheetPool;
diff --git a/sc/inc/userdat.hxx b/sc/inc/userdat.hxx
index 56874721f0f1..17a81261b3cd 100644
--- a/sc/inc/userdat.hxx
+++ b/sc/inc/userdat.hxx
@@ -82,7 +82,7 @@ public:
const ImageMap& GetImageMap() const { return aImageMap; }
};
-class ScMacroInfo : public SdrObjUserData
+class SAL_DLLPUBLIC_RTTI ScMacroInfo : public SdrObjUserData
{
public:
ScMacroInfo();
diff --git a/sc/source/ui/inc/dbfunc.hxx b/sc/source/ui/inc/dbfunc.hxx
index 7e807d9a5ad0..e4db4d500cb0 100644
--- a/sc/source/ui/inc/dbfunc.hxx
+++ b/sc/source/ui/inc/dbfunc.hxx
@@ -35,7 +35,7 @@ class ScDPSaveData;
struct ScDPNumGroupInfo;
struct ScSubTotalParam;
-class ScDBFunc : public ScViewFunc
+class SAL_DLLPUBLIC_RTTI ScDBFunc : public ScViewFunc
{
private:
void GetSelectedMemberList(ScDPUniqueStringSet& rEntries, long& rDimension);
diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx
index ca2a4ce8308d..cdbd9b83f7a0 100644
--- a/sc/source/ui/inc/gridwin.hxx
+++ b/sc/source/ui/inc/gridwin.hxx
@@ -82,7 +82,7 @@ struct SpellCallbackInfo;
// predefines
namespace sdr { namespace overlay { class OverlayObjectList; }}
-class ScGridWindow : public vcl::Window, public DropTargetHelper, public DragSourceHelper
+class SAL_DLLPUBLIC_RTTI ScGridWindow : public vcl::Window, public DropTargetHelper, public DragSourceHelper
{
// ScFilterListBox is always used for selection list
friend class ScFilterListBox;
diff --git a/sc/source/ui/inc/preview.hxx b/sc/source/ui/inc/preview.hxx
index f3595722398c..69133b9e9c1b 100644
--- a/sc/source/ui/inc/preview.hxx
+++ b/sc/source/ui/inc/preview.hxx
@@ -29,7 +29,7 @@ class ScDocShell;
class ScPreviewShell;
class FmFormView;
-class ScPreview : public vcl::Window
+class SAL_DLLPUBLIC_RTTI ScPreview : public vcl::Window
{
private:
ScMarkData::MarkedTabsType maSelectedTabs;
diff --git a/sc/source/ui/inc/transobj.hxx b/sc/source/ui/inc/transobj.hxx
index 211fa8fc7ef2..5b7f405fb55e 100644
--- a/sc/source/ui/inc/transobj.hxx
+++ b/sc/source/ui/inc/transobj.hxx
@@ -36,7 +36,7 @@ namespace com { namespace sun { namespace star {
}
}}}
-class ScTransferObj : public TransferableHelper
+class SAL_DLLPUBLIC_RTTI ScTransferObj : public TransferableHelper
{
private:
ScDocumentUniquePtr m_pDoc;