https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
--- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> --- With -Wsystem-headers there are various warnings, e.g. /usr/include/boost/function/function_template.hpp:572:11: warning: placement new constructing an object of type ‘boost::spirit::qi::detail::parser_binder<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard_wide> >, boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false> > >, mpl_::bool_<true> >’ and size ‘2’ in a region of type ‘char’ and size ‘1’ [-Wplacement-new=] new (reinterpret_cast<void*>(&functor.data)) FunctionObj(f); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/boost/function/function_base.hpp:308:13: warning: placement new constructing an object of type ‘boost::detail::function::functor_manager_common<boost::spirit::qi::detail::parser_binder<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard_wide> >, boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false> > >, mpl_::bool_<true> > >::functor_type {aka boost::spirit::qi::detail::parser_binder<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard_wide> >, boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false> > >, mpl_::bool_<true> >}’ and size ‘2’ in a region of type ‘char’ and size ‘1’ [-Wplacement-new=] new (reinterpret_cast<void*>(&out_buffer.data)) functor_type(*in_functor); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ etc.