I understand where the problem is, I'm just not sure why am I not getting any error output from gcc.
The lines in question which generate the issue are:
std::string type,rel,pred;
std::tie( type, rel, pred ) = tuple;
auto supertype = std::make_shared<Node>( Token( type ) ); // This
auto predicate = std::make_shared<Node>( Token( pred ) ); // and this
FYI, Node Ctor is:
Node ( Token & token )
If I do this, I get no error:
auto type_token = Token( type );
auto pred_token = Token( pred );
auto supertype = std::make_shared<Node>( type_token );
auto predicate = std::make_shared<Node>( pred_token );
My GCC is:
posix gcc version 4.7.3 (Debian 4.7.3-8)
The actual error is:
> Internal compiler error: Error reporting routines re-entered. Please
> submit a full bug report, with preprocessed source if appropriate. See
> <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
Funnily enough, this directory above doesn't even exist.
What's wrong with constructing an object within the make_shared constructor?