diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-01-26 14:57:05 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-01-26 15:17:28 +0100 |
commit | 598d8194b0ea1a64e0ebba28a86c128bafa57c7c (patch) | |
tree | c81c2a85795c6218327d2c40dc2a52850a7d22ef /vcl | |
parent | 64235bc9896911b4abfca47089ac1e71056afea7 (diff) |
Visible function type RTTI for Clang -fsanitize=function
...by adding some further SAL_DLLPUBLIC_RTTI type annotations (cf.
b4f6b26b5a1a78fecfa95ec2eb7ac8b80495d8aa "SAL_DLLPUBLIC_RTTI for proper RTTI
visibility for LLVM") and by making sure relevant function types do not use
incomplete types in their parameter and return types (which would make the RTTI
hidden).
Change-Id: Id7aadcbc0704b9759968ae36266fc9ce11a2e340
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/salframe.hxx | 4 | ||||
-rw-r--r-- | vcl/inc/unx/desktops.hxx | 6 | ||||
-rw-r--r-- | vcl/source/components/dtranscomp.cxx | 1 | ||||
-rw-r--r-- | vcl/source/components/fontident.cxx | 1 |
4 files changed, 10 insertions, 2 deletions
diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx index 95e8bf2391af..6bbcb29f658f 100644 --- a/vcl/inc/salframe.hxx +++ b/vcl/inc/salframe.hxx @@ -34,11 +34,13 @@ #include <rtl/ustring.hxx> #include <vcl/keycod.hxx> +#include <vcl/window.hxx> + // complete vcl::Window for SalFrame::CallCallback under -fsanitize=function + class AllSettings; class SalGraphics; class SalBitmap; class SalMenu; -namespace vcl { class Window; } struct SalFrameState; struct SalInputContext; diff --git a/vcl/inc/unx/desktops.hxx b/vcl/inc/unx/desktops.hxx index babb1686e674..e88c47326b28 100644 --- a/vcl/inc/unx/desktops.hxx +++ b/vcl/inc/unx/desktops.hxx @@ -20,7 +20,11 @@ #ifndef INCLUDED_VCL_INC_UNX_DESKTOPS_HXX #define INCLUDED_VCL_INC_UNX_DESKTOPS_HXX -enum DesktopType { +#include <sal/config.h> + +#include <sal/types.h> + +enum SAL_DLLPUBLIC_RTTI DesktopType { DESKTOP_NONE, // headless, i.e. no X connection at all DESKTOP_UNKNOWN, // unknown desktop, simple WM, etc. DESKTOP_GNOME, diff --git a/vcl/source/components/dtranscomp.cxx b/vcl/source/components/dtranscomp.cxx index 5b443e264971..05a149008a48 100644 --- a/vcl/source/components/dtranscomp.cxx +++ b/vcl/source/components/dtranscomp.cxx @@ -25,6 +25,7 @@ #include "svdata.hxx" #include "salinst.hxx" +#include <com/sun/star/lang/XMultiServiceFactory.hpp> #include "com/sun/star/lang/XServiceInfo.hpp" #include "com/sun/star/lang/XSingleServiceFactory.hpp" #include "com/sun/star/lang/XInitialization.hpp" diff --git a/vcl/source/components/fontident.cxx b/vcl/source/components/fontident.cxx index e5880d3bcd88..a7e6f3672724 100644 --- a/vcl/source/components/fontident.cxx +++ b/vcl/source/components/fontident.cxx @@ -23,6 +23,7 @@ #include "factory.hxx" #include "svdata.hxx" +#include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/beans/XMaterialHolder.hpp> #include <com/sun/star/awt/FontDescriptor.hpp> |