http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58764
--- Comment #10 from Marc Glisse <glisse at gcc dot gnu.org> --- vector() _GLIBCXX_NOEXCEPT : _Base() { } list() _GLIBCXX_NOEXCEPT I think that's wrong, the default construction of the allocator may throw, hence the conditional noexcept I was suggesting in comment #3.