marked UB-incurring boost::archive::xml_oarchive ctor/dtor as no_sanitize

This commit is contained in:
joaquintides
2023-08-16 11:34:43 +02:00
parent 9057369f93
commit bf0ae6e63a

View File

@ -111,11 +111,39 @@ namespace {
using test::default_generator;
#if (defined(BOOST_GCC) && BOOST_GCC_VERSION >= 80100) ||\
(defined(BOOST_CLANG) && BOOST_CLANG_VERSION >= 30700)
#define BOOST_UNORDERED_TEST_NO_SANITIZE_UNDEFINED \
__attribute__((no_sanitize("undefined")))
#else
#define BOOST_UNORDERED_TEST_NO_SANITIZE_UNDEFINED
#endif
template<typename Class>
struct unsanitized_ctor_dtor: Class
{
template<typename Arg>
BOOST_UNORDERED_TEST_NO_SANITIZE_UNDEFINED
unsanitized_ctor_dtor(const Arg& x): Class(x) {}
template<typename Arg>
BOOST_UNORDERED_TEST_NO_SANITIZE_UNDEFINED
unsanitized_ctor_dtor(Arg& x): Class(x) {}
BOOST_UNORDERED_TEST_NO_SANITIZE_UNDEFINED
~unsanitized_ctor_dtor()
{
}
};
#undef BOOST_UNORDERED_TEST_NO_SANITIZE_UNDEFINED
std::pair<
boost::archive::text_oarchive, boost::archive::text_iarchive>*
text_archive;
std::pair<
boost::archive::xml_oarchive, boost::archive::xml_iarchive>*
unsanitized_ctor_dtor<boost::archive::xml_oarchive>,
boost::archive::xml_iarchive>*
xml_archive;
#ifdef BOOST_UNORDERED_FOA_TESTS