[Bug libstdc++/53646] Surprising effects of cxx11 vs cxx98 ABI compatibility
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jun 12 15:50:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53646
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-06-12 15:50:05 UTC ---
Trivially copyable is just one small part of the POD requirements. std::pair
has always been non-POD, even in c++98, but in c++98 it is trivially copyable,
in c++11 that move constructor is non-trivial.
It can be made trivial by changing it to:
pair(pair&& __p)
noexcept(__and_<is_nothrow_move_constructible<_T1>,
is_nothrow_move_constructible<_T2>>::value)
= default;
That might fix this problem, could you test it?
More information about the Gcc-bugs
mailing list