diff --git a/include/boost/archive/detail/interface_oarchive.hpp b/include/boost/archive/detail/interface_oarchive.hpp index 8f7aa6d79..88e857bc2 100644 --- a/include/boost/archive/detail/interface_oarchive.hpp +++ b/include/boost/archive/detail/interface_oarchive.hpp @@ -44,13 +44,6 @@ class interface_oarchive typedef mpl::bool_ is_saving; // return a pointer to the most derived class - #if BOOST_WORKAROUND(BOOST_GCC_VERSION,>=40900)||\ - BOOST_WORKAROUND(BOOST_CLANG,>=1)&&\ - (__clang_major__>3 || __clang_major__==3 && __clang_minor__ >= 8) - /* https://github.com/boostorg/poly_collection/issues/15 */ - - __attribute__((no_sanitize("undefined"))) - #endif Archive * This(){ return static_cast(this); } diff --git a/include/boost/archive/impl/xml_oarchive_impl.ipp b/include/boost/archive/impl/xml_oarchive_impl.ipp index 0f4ccbbf9..9f74c61d0 100644 --- a/include/boost/archive/impl/xml_oarchive_impl.ipp +++ b/include/boost/archive/impl/xml_oarchive_impl.ipp @@ -131,8 +131,9 @@ BOOST_ARCHIVE_DECL xml_oarchive_impl::~xml_oarchive_impl(){ if(boost::core::uncaught_exceptions() > 0) return; - if(0 == (this->get_flags() & no_header)) - this->windup(); + if(0 == (this->get_flags() & no_header)){ + this->put("\n"); + } } } // namespace archive diff --git a/include/boost/serialization/extended_type_info_no_rtti.hpp b/include/boost/serialization/extended_type_info_no_rtti.hpp index ca3fae025..68df0eef5 100644 --- a/include/boost/serialization/extended_type_info_no_rtti.hpp +++ b/include/boost/serialization/extended_type_info_no_rtti.hpp @@ -100,13 +100,9 @@ class extended_type_info_no_rtti : } }; public: - #if BOOST_WORKAROUND(BOOST_GCC_VERSION,>=40900)||\ - BOOST_WORKAROUND(BOOST_CLANG,>=1)&&\ - (__clang_major__>3 || __clang_major__==3 && __clang_minor__ >= 8) - __attribute__((no_sanitize("undefined"))) - #endif extended_type_info_no_rtti() : - no_rtti_system::extended_type_info_no_rtti_0(get_key()) + no_rtti_system::extended_type_info_no_rtti_0( + action::value >::invoke()) { key_register(); }