[Libreoffice-commits] core.git: include/vcl sw/inc sw/source
Stephan Bergmann (via logerrit)
logerrit at kemper.freedesktop.org
Thu Nov 7 14:17:58 UTC 2019
include/vcl/salnativewidgets.hxx | 10 +++++-----
sw/inc/SwNodeNum.hxx | 2 +-
sw/inc/SwNumberTree.hxx | 2 +-
sw/inc/chpfld.hxx | 2 +-
sw/inc/flypos.hxx | 2 +-
sw/inc/fmtcntnt.hxx | 2 +-
sw/inc/swtblfmt.hxx | 4 ++--
sw/inc/unotbl.hxx | 2 +-
sw/source/core/inc/frame.hxx | 2 +-
9 files changed, 14 insertions(+), 14 deletions(-)
New commits:
commit d5cb1c694cb52e83781363d292a6d2d80fbd9c51
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Thu Nov 7 13:08:29 2019 +0100
Commit: Stephan Bergmann <sbergman at redhat.com>
CommitDate: Thu Nov 7 15:17:07 2019 +0100
Looks like UBSan still needs various RTTI for some reason
After 5d7af3c38b618d438e065da9d90668e7c4baa849 "make some classes
module-private" various tests in my Linux ASan+UBSan build failed due to missing
symbols.
Identified the problematic types with
> make check screenshot gb_SUPPRESS_TESTS=x && for i in $(find instdir/program workdir/LinkTarget/CppunitTest -type f); do LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}instdir/program:workdir/UnpackedTarball/cppunit/src/cppunit/.libs ldd -r "$i" 2>/dev/null | grep 'undefined symbol: _ZTI'; done
and fixed the ensuing
> sw/source/core/SwNumberTree/SwNodeNum.cxx:190:32: error: dynamic_cast from 'SwNumberTreeNode' with hidden type visibility to 'SwNodeNum' with default type visibility [loplugin:dyncastvisibility]
> SwNodeNum* pChild( dynamic_cast<SwNodeNum*>(pNode) );
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> sw/inc/SwNumberTree.hxx:114:7: note: base class 'SwNumberTreeNode' with hidden type visibility defined here [loplugin:dyncastvisibility]
> class SwNumberTreeNode
> ~~~~~~^~~~~~~~~~~~~~~~
> sw/inc/SwNodeNum.hxx:29:26: note: derived class 'SwNodeNum' with default type visibility defined here [loplugin:dyncastvisibility]
> class SAL_DLLPUBLIC_RTTI SwNodeNum : public SwNumberTreeNode
> ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fallout.
Change-Id: I7abafdb4d02216e1a047f886d5e72ad3420115ce
Reviewed-on: https://gerrit.libreoffice.org/82210
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
diff --git a/include/vcl/salnativewidgets.hxx b/include/vcl/salnativewidgets.hxx
index 47ff2c8ee7ce..4ae64ace4602 100644
--- a/include/vcl/salnativewidgets.hxx
+++ b/include/vcl/salnativewidgets.hxx
@@ -289,7 +289,7 @@ class VCL_DLLPUBLIC ImplControlValue
*
* Value container for scrollbars.
*/
-class ScrollbarValue final : public ImplControlValue
+class SAL_DLLPUBLIC_RTTI ScrollbarValue final : public ImplControlValue
{
public:
long mnMin;
@@ -319,7 +319,7 @@ class ScrollbarValue final : public ImplControlValue
ScrollbarValue & operator =(ScrollbarValue &&) = delete; // due to ImplControlValue
};
-class SliderValue final : public ImplControlValue
+class SAL_DLLPUBLIC_RTTI SliderValue final : public ImplControlValue
{
public:
long mnMin;
@@ -383,7 +383,7 @@ namespace o3tl
template<> struct typed_flags<TabitemFlags> : is_typed_flags<TabitemFlags, 0x0f> {};
}
-class TabitemValue final : public ImplControlValue
+class SAL_DLLPUBLIC_RTTI TabitemValue final : public ImplControlValue
{
public:
TabitemFlags mnAlignment;
@@ -418,7 +418,7 @@ class TabitemValue final : public ImplControlValue
* Note: the other parameters of DrawNativeControl will have no meaning
* all parameters for spinbuttons are carried here
*/
-class SpinbuttonValue final : public ImplControlValue
+class SAL_DLLPUBLIC_RTTI SpinbuttonValue final : public ImplControlValue
{
public:
tools::Rectangle maUpperRect;
@@ -491,7 +491,7 @@ public:
* Value container for menu items; specifies the rectangle for the whole item which
* may be useful when drawing parts with a smaller rectangle.
*/
-class MenupopupValue final : public ImplControlValue
+class SAL_DLLPUBLIC_RTTI MenupopupValue final : public ImplControlValue
{
public:
MenupopupValue( long i_nGutterWidth, const tools::Rectangle& i_rItemRect )
diff --git a/sw/inc/SwNodeNum.hxx b/sw/inc/SwNodeNum.hxx
index b75759912a61..a29099dbfac4 100644
--- a/sw/inc/SwNodeNum.hxx
+++ b/sw/inc/SwNodeNum.hxx
@@ -26,7 +26,7 @@ class SwTextNode;
struct SwPosition;
class SwNumRule;
-class SwNodeNum : public SwNumberTreeNode
+class SAL_DLLPUBLIC_RTTI SwNodeNum : public SwNumberTreeNode
{
public:
diff --git a/sw/inc/SwNumberTree.hxx b/sw/inc/SwNumberTree.hxx
index a3e6cd5d23bd..ad3ffe845110 100644
--- a/sw/inc/SwNumberTree.hxx
+++ b/sw/inc/SwNumberTree.hxx
@@ -111,7 +111,7 @@ struct compSwNumberTreeNodeLessThan
The phantom gets numbered with the start value.
*/
-class SwNumberTreeNode
+class SAL_DLLPUBLIC_RTTI SwNumberTreeNode
{
protected:
typedef std::set<SwNumberTreeNode *, compSwNumberTreeNodeLessThan>
diff --git a/sw/inc/chpfld.hxx b/sw/inc/chpfld.hxx
index 34bac09bb61c..305831911b5f 100644
--- a/sw/inc/chpfld.hxx
+++ b/sw/inc/chpfld.hxx
@@ -36,7 +36,7 @@ enum SwChapterFormat
CF_NUM_NOPREPST_TITLE, ///< chapter number without post-/prefix and title
};
-class SwChapterFieldType final : public SwFieldType
+class SAL_DLLPUBLIC_RTTI SwChapterFieldType final : public SwFieldType
{
public:
SwChapterFieldType();
diff --git a/sw/inc/flypos.hxx b/sw/inc/flypos.hxx
index 360a5ec9ff61..933a9a30e5e0 100644
--- a/sw/inc/flypos.hxx
+++ b/sw/inc/flypos.hxx
@@ -27,7 +27,7 @@ class SwFrameFormat;
class SwNodeIndex;
/// For querying current flys in document.
-class SwPosFlyFrame final
+class SAL_DLLPUBLIC_RTTI SwPosFlyFrame final
{
const SwFrameFormat* m_pFrameFormat; ///< FlyFrameFormat
SwNodeIndex* m_pNodeIndex; ///< Index for node is sufficient.
diff --git a/sw/inc/fmtcntnt.hxx b/sw/inc/fmtcntnt.hxx
index 756f8f699d5e..655c2ed8d7a3 100644
--- a/sw/inc/fmtcntnt.hxx
+++ b/sw/inc/fmtcntnt.hxx
@@ -28,7 +28,7 @@ class SwNodeIndex;
class SwStartNode;
/// Content, content of frame (header, footer, fly).
-class SwFormatContent: public SfxPoolItem
+class SAL_DLLPUBLIC_RTTI SwFormatContent: public SfxPoolItem
{
std::unique_ptr<SwNodeIndex> m_pStartNode;
diff --git a/sw/inc/swtblfmt.hxx b/sw/inc/swtblfmt.hxx
index 2d7aceb8e1a9..c1a114ea4066 100644
--- a/sw/inc/swtblfmt.hxx
+++ b/sw/inc/swtblfmt.hxx
@@ -21,7 +21,7 @@
#include "frmfmt.hxx"
-class SwTableFormat final : public SwFrameFormat
+class SAL_DLLPUBLIC_RTTI SwTableFormat final : public SwFrameFormat
{
friend class SwDoc;
@@ -46,7 +46,7 @@ public:
virtual bool supportsFullDrawingLayerFillAttributeSet() const override;
};
-class SwTableBoxFormat final : public SwFrameFormat
+class SAL_DLLPUBLIC_RTTI SwTableBoxFormat final : public SwFrameFormat
{
friend class SwDoc;
diff --git a/sw/inc/unotbl.hxx b/sw/inc/unotbl.hxx
index 641deecf0a7f..7ec4121a9ad8 100644
--- a/sw/inc/unotbl.hxx
+++ b/sw/inc/unotbl.hxx
@@ -251,7 +251,7 @@ struct SwRangeDescriptor
void Normalize();
};
-class SwXTextTable final : public cppu::WeakImplHelper
+class SAL_DLLPUBLIC_RTTI SwXTextTable final : public cppu::WeakImplHelper
<
css::text::XTextTable,
css::lang::XServiceInfo,
diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index 4f3a4afa8fbc..13270c1258a8 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -127,7 +127,7 @@ namespace drawinglayer { namespace attribute {
///
/// Added most important flags about the state of this geometric
/// information and if it is valid or not
-class SwFrameAreaDefinition
+class SAL_DLLPUBLIC_RTTI SwFrameAreaDefinition
{
private:
// The absolute position and size of the SwFrame in the document.
More information about the Libreoffice-commits
mailing list