On Thu, Aug 29, 2013 at 9:44 PM, Steven Bosscher <stevenb....@gmail.com> wrote: > On Thu, Aug 29, 2013 at 6:20 PM, David Malcolm <dmalc...@redhat.com> wrote: >> * gimple.c (gt_ggc_mx (gimple)): New, as required by GTY((user)). >> (gt_pch_nx (gimple)): Likewise. > > GIMPLE isn't supposed to end up in a PCH. Can you please make this > function simply call gcc_unreachable()? > > FWIW 1: I really think all these hand-written markers aren't a good > idea, we should really figure out a way to have automatic marker > function generators, something less complex than gengtype, of course. > But to have all these calls to the type-mangled marker functions > (gt_pch_n_9tree_node, etc.) is going to be a problem in the long term. > > It seems to me that the first step in all these conversions to > hand-written markers should be to make gengtype spit out the marker > functions *without* the type name mangling, i.e. all marker functions > should just be gt_ggc_mx(type) / gt_pch_nx(type).
Yes, the original idea was that gengtype would do that. For things we like to optimize the GTY((user)) thing would tell it that we do provide the markers. Like when you want to look through a non-GCed intermediate object. Or for things like GTY((chain)) stuff that doesn't really work if you have multiple chains (without clever GTY((skip))s...). The lack of the unmangled overloads is annoying :/ IIRC Diego halfway completed the transition to unmangled overloads / specializations? Richard. > Ciao! > Steven