Diego Novillo wrote:
In g++.dg/torture/20070621-1.C we are trying to stream out a structure
that contains a TEMPLATE_DECL.  This currently causes a failure in
lto-function-out.c:output_tree because not only TEMPLATE_DECL is
C++-specific, we can't even access its fields from lto-function-out.c.

The only way I see to handle these cases is to use a langhook.  I
appreciate that we are trying to get rid of these, but this is only a
langhook used when streaming things out (in cc1plus).  On the way in
(lto1), we would not need the langhook, as we would just mechanically
recreate the fields.

Thoughts?


Diego.
i had been told (but such statements are often lies) that there were not supposed to be any languages specific tree codes this late in the compilation. if there needs to be, then this should not be a lang specific tree code and needs to become a regular tree code. the problem with making this a langhook is that there is no "there-there" in that on the serialize in side, you would have to recreate the c++ front end code that expects this tree code. (if there is no such code, then this tree code could/should have been removed before you got there. On the other hand, if this tree code needs to be there, then copying the c++ front end code that processes it later is a bad road to go down.

I would like to see this publicly discussed by the c++ front end people to see why this tree code lingers so long. In all other cases, these late lived fe specific tree codes either have or are supposed to have been removed.

Kenny

Reply via email to