[Bug c++/60081] Internal compiler error: Error reporting routines re-entered.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60081 --- Comment #4 from Stan Manilov --- Here is a simple way to reproduce the bug: == #include #include int main() { std::vector> v; std::unique_ptr px(new int (1)); v.push_back(px); } == There is a bug in the code: push_back tries to copy the given element by default. This should return an error along the lines of "Call to deleted copy constructor of std::unique_ptr". Instead it gives ICE. A solution to the bug in the code is to explicitly call std::move like so: == #include #include int main() { std::vector> v; std::unique_ptr px(new int (1)); v.push_back(std::move(px)); } ==
[Bug c++/60081] New: Internal compiler error: Error reporting routines re-entered.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60081 Bug ID: 60081 Summary: Internal compiler error: Error reporting routines re-entered. Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stanislav.manilov at gmail dot com Created attachment 32054 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32054&action=edit preprocessed source It appears that declaring a class member to have type a vector of unique_ptr's is the reason for this bug, but could not verify details.