[Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error)

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Aug 12 12:50:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58084

--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
OK, the problem is that the return type of nested function is variable sized
type of the outer functions.  These types go to function sections and are not
merged.
We used to not ICE just by luck - RESTLT_DECL went to global section that
created yet another unmerged version of the type that got into RESULT_DECL.

This is not only problem of this kind and I am not quite sure what to do here:
either we need to invent way how to refer items in the other function section,
or we need to put all abstract origins into global stream completely.
The second would be very expensive...

In this partiuclar case we probably can just teach tree-inline to
VOID_CONVERT_EXPR when needed?



More information about the Gcc-bugs mailing list