------- Comment #3 from cppljevans at suddenlink dot net 2007-10-31 18:49 ------- When that following main is used instead of the one posted earlier, the error no longer occurs.
<-- cut here -- int main(void) { typedef gram_tree<vars> gt; gt::productions prods; #define INST_SEQ #ifdef INST_SEQ gt::expr_sequence inst_seq; #endif prods[vars::e]=prods[vars::e] >> #ifdef INST_SEQ inst_seq #else prods[vars::e] #endif ; return 0; } >-- cut here -- IOW, the pt.c insource comment mentioned in my first post really means what it says, i.e. the above code instantiates the outer class, expr_sequence, and the ice no longer occurs. Maybe the gcc_assert that's in pt.c on line 6651 and that was mentioned in my first post should be removed? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33959