https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104323
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Ever confirmed|0 |1 Target Milestone|--- |12.0 Last reconfirmed| |2022-02-01 Status|UNCONFIRMED |ASSIGNED --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- rs6000-gen-builtins.cc contains comments like: /* #### Cannot mark this as a GC root because only pointer types can be marked as GTY((user)) and be GC roots. All trees in here are kept alive by other globals, so not a big deal. Alternatively, we could change the enum fields to ints and cast them in and out to avoid requiring a GTY((user)) designation, but that seems unnecessarily gross. */ but while that seems to work fine for GC (e.g. rs6000_builtin_info[?].fntype is set to some FUNCTION_TYPE that is also stored in some GC root forever, so GC shouldn't free that FUNCTION_TYPE), it doesn't and can't work for PCH, which really needs to be able to adjust all the pointers.