Because the frontend uses TYPE_BINFO specifically. It expects a TYPE_BINFO that writes to this value, and will break with replacements. I have tried a number of alternatives, and this is what works. I can't use lang_1 because other frontends use it in ways that java doesn't expect and I can't create a replacement for TYPE_BINFO because then it won't have the regular checks that TYPE_BINFO has. I couldn't find a better solution because I'm not particularly versed with the internal workings of gcc, if you can think of a better idea feel free to let me know. On Sat, 26 Nov 2022 at 07:20, Richard Biener wrote: > On Fri, Nov 25, 2022 at 9:55 AM Zopolis0 via Gcc-patches > wrote: > > > > Why add this when nothing uses it and you need to re-add binfo because > of this? If the frontend uses > it then add it to lang_type. >