forked from amazingfate/loongoffice
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>
23 lines
733 B
Plaintext
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,
|