http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59738
--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- On x86_64-apple-darwin13 the error is In file included from /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/vector:62:0, from /opt/gcc/work/libstdc++-v3/testsuite/23_containers/vector/52591.cc:23: /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_construct.h: In instantiation of 'void std::_Construct(_T1*, _Args&& ...) [with _T1 = C; _Args = {C}]': /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_uninitialized.h:75:53: required from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<__gnu_cxx::__normal_iterator<C*, std::vector<C> > >; _ForwardIterator = C*; bool _TrivialValueTypes = false]' /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_uninitialized.h:125:41: required from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<__gnu_cxx::__normal_iterator<C*, std::vector<C> > >; _ForwardIterator = C*]' /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_uninitialized.h:278:63: required from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<__gnu_cxx::__normal_iterator<C*, std::vector<C> > >; _ForwardIterator = C*; _Tp = C]' /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_uninitialized.h:288:24: required from '_ForwardIterator std::__uninitialized_move_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = __gnu_cxx::__normal_iterator<C*, std::vector<C> >; _ForwardIterator = C*; _Allocator = std::allocator<C>]' /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_vector.h:343:29: required from 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = C; _Alloc = std::allocator<C>; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<C>]' /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_vector.h:1436:54: required from 'void std::vector<_Tp, _Alloc>::_M_move_assign(std::vector<_Tp, _Alloc>&&, std::true_type) [with _Tp = C; _Alloc = std::allocator<C>; std::true_type = std::integral_constant<bool, true>]' /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_vector.h:440:65: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = C; _Alloc = std::allocator<C>]' /opt/gcc/work/libstdc++-v3/testsuite/23_containers/vector/52591.cc:37:7: required from here /opt/gcc/build_w/x86_64-apple-darwin13.0.0/i386/libstdc++-v3/include/bits/stl_construct.h:75:7: error: use of deleted function 'constexpr C::C(const C&)' { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); } ^ /opt/gcc/work/libstdc++-v3/testsuite/23_containers/vector/52591.cc:29:8: note: 'constexpr C::C(const C&)' is implicitly declared as deleted because 'C' declares a move constructor or move assignment operator struct C ^ compiler exited with status 1