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.