On Mon, Jun 6, 2011 at 10:50, Richard Guenther <rguent...@suse.de> wrote:

> Do you remember if it was only void_zero_node that causes problems?
> We could just special-case it in
> lto_input_integer_cst/lto_output_integer_cst.  Or even fix the C family
> frontends to not create or use this strange node.  It seems to be
> a special tree for "empty valid something" which could as well be
> a new tree code with a singleton object.

void_zero_node was the only one causing problems because it couldn't
be built with build_int_cst_wide.  However, the other well-known
constants where causing problem when the parser tried to
pointer-compare them.  This sounded a bit strange to me, since I was
expecting the constant cache in the type to give back shared
constants, but I did not investigate it further.

Making void_zero_node a new singleton object sounds like a good cleanup.


Diego.

Reply via email to