This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/58631] Internal compiler error: Error reporting routines re-entered.
- From: "bsamim at yahoo dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 05 Oct 2013 18:07:15 +0000
- Subject: [Bug c++/58631] Internal compiler error: Error reporting routines re-entered.
- Auto-submitted: auto-generated
- References: <bug-58631-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58631
--- Comment #1 from bsamim at yahoo dot com ---
It seems this happens in the following code when the copy constructor for is
set as Card(Card& ) = delete; It will crash the compiler on this as I
believe it is because the vector is expecting it to be copyable even though it
is doing a move. After changing the code a bit and putting it as private I was
able to get the following output but it still crashed the compiler at the end.
Card.h:28:5: error: âCard::Card(const Card&)â is private
In file included from /usr/include/c++/4.7/bits/move.h:57:0,
from /usr/include/c++/4.7/bits/stl_pair.h:61,
from /usr/include/c++/4.7/bits/stl_algobase.h:65,
from /usr/include/c++/4.7/vector:61,
from Card.h:4,
from Deck.h:4,
from Deck.cpp:1:
/usr/include/c++/4.7/type_traits:762:43: error: within this context
In file included from Deck.h:4:0,
from Deck.cpp:1:
/usr/include/c++/4.7/type_traits: In instantiation of âstruct
std::__is_nt_constructible_impl<Card, Card&&>â:
/usr/include/c++/4.7/type_traits:116:12: required from âstruct
std::__and_<std::is_constructible<Card, Card&&>,
std::__is_nt_constructible_impl<Card, Card&&> >â
/usr/include/c++/4.7/type_traits:1002:12: required from âstruct
std::is_nothrow_constructible<Card, Card&&>â
/usr/include/c++/4.7/type_traits:1033:12: required from âstruct
std::__is_nothrow_move_constructible_impl<Card, false>â
/usr/include/c++/4.7/type_traits:1039:12: required from âstruct
std::is_nothrow_move_constructible<Card>â
/usr/include/c++/4.7/type_traits:126:12: required from âstruct
std::__not_<std::is_nothrow_move_constructible<Card> >â
/usr/include/c++/4.7/type_traits:116:12: required from âstruct
std::__and_<std::__not_<std::is_nothrow_move_constructible<Card> >,
std::is_copy_constructible<Card> >â
/usr/include/c++/4.7/bits/move.h:107:12: required from âstruct
std::__move_if_noexcept_cond<Card>â
/usr/include/c++/4.7/bits/stl_iterator.h:1129:32: required from
â_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator,
_InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = Card*;
_ForwardIterator = Card*; _Allocator = std::allocator<Card>]â
/usr/include/c++/4.7/bits/vector.tcc:413:6: required from âvoid
std::vector<_Tp, _Alloc>::_M_emplace_back_aux(_Args&& ...) [with _Args =
{Card}; _Tp = Card; _Alloc = std::allocator<Card>]â
/usr/include/c++/4.7/bits/vector.tcc:102:4: required from âvoid
std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {Card}; _Tp =
Card; _Alloc = std::allocator<Card>]â