On 04/04/2017 09:00 AM, Richard Biener wrote: > tree > add_builtin_type (const char *name, tree type) > { > tree id = get_identifier (name); > tree decl = build_decl (BUILTINS_LOCATION, TYPE_DECL, id, type); > return lang_hooks.decls.pushdecl (decl); > } > > this seems to miss setting TYPE_NAME (type) = decl - oh, that may be > what set_underlying_type does via the langhook. Correct, via the langhook. I wonder if the smacking of the incoming-type's TYPE_NAME is so that the global tree node references the now-named builtin type. If we were to make a clone here, (things like) VS4SI_type_node would remain an unnamed type. And I guess debug would be unhappy? > At this point I'd rather restrict fiddling in this fragile area in > rs6000.c only ;) me too. > Does removing the TYPE_NAME setting fix things? no, those TYPE_NAME assignments are redundant -- set_underlying_type has already initialized it. The attached PoC fixes 79905 (no idea what ppc test it might break) nathan -- Nathan Sidwell