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

2014-04-30 Thread stanislav.manilov at gmail dot com
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.

2014-02-05 Thread stanislav.manilov at gmail dot com
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.