Files
loongoffice/external/boost/rtti.patch.0
Michael Stahl e5c6574f5d boost: warning-patch-ectomy
Upstream maintainers, with few exceptions, generally don't care about
warnings in boost headers, hence we re-base our warning fix patches on
every upgrade, which is a pointless exercise in frustration.

Most of the patches are for GCC/Clang warnings, where we could use
-isystem to suppress the warnings (with corresponding hacks in the build
system, because -isystem also disables dependency generation) - but
clang-cl does not support -isystem.

So generate a bunch of wrapper headers into external/boost/include, that
disable all known warnings and use #include_next to get the real boost
header. This allows us to get rid of most of the existing patches.

There is however a bug in GCC that preprocessor warnings like -Wundef
cannot be disabled with a #pragma, so those patches cannot be removed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431

Change-Id: I2992bf4a463015f1140489df867bd80757f84541
Reviewed-on: https://gerrit.libreoffice.org/25563
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-05-30 15:34:51 +00:00

23 lines
733 B
Plaintext

Visible function type RTTI for Clang -fsanitize=function
--- boost/function/function_base.hpp
+++ boost/function/function_base.hpp
@@ -97,7 +97,7 @@
* object pointers, and a structure that resembles a bound
* member function pointer.
*/
- union function_buffer
+ union BOOST_SYMBOL_VISIBLE function_buffer
{
// For pointers to function objects
mutable void* obj_ptr;
@@ -159,7 +159,7 @@
};
// The operation type to perform on the given functor/function pointer
- enum functor_manager_operation_type {
+ enum BOOST_SYMBOL_VISIBLE functor_manager_operation_type {
clone_functor_tag,
move_functor_tag,
destroy_functor_tag,