This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/58631] Internal compiler error: Error reporting routines re-entered.


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>]â

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]