This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PCH vs. type canonicalization



On Feb 20, 2004, at 3:02 PM, Jason Merrill wrote:


I'm running into a bug which only appears with PCH; it turns out to be a
problem whereby build_function_type isn't finding a version of the type
loaded from the PCH, because the hash calculation uses the tree address of
the return type.


I suppose the right fix is to stop using the address in calculating the
hash of a type. Alternately, we could do something along the lines of the
reorder functions for sorted field structures.

You can probably just use TYPE_UID instead of the pointer's address.


It's often better to avoid hashing based on pointers than to use reorder functions, since reorder functions make building PCHs slower. (Of course, sometimes hashing based on pointers is faster than the alternative, so you really want to implement both and do measurements.)

--
Geoff Keating <geoffk@apple.com>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]