On 05/19/2015 01:33 PM, Jan Hubicka wrote:
I tracked down that those are implicit typedef created by create_implicit_typedef. My patch made them no longer anonymous that in turn triggers the bogus diagnostics. I do not think it is fully correct though - those types are not anonymous.
Hmm? The types are anonymous: static struct { int moves_inserted; int copies_inserted; int insns_deleted; } stats; Here there is a variable named 'stats', but its type has no name.
(I also wonder we we need to introdce a type name "._134") and pass it all the way down to LTO.
Anonymous types do need to have some name, so that we can mangle them. But I don't know if they need to remain past free_lang_data.
Jason