Ian Lance Taylor <[EMAIL PROTECTED]> writes:

| [EMAIL PROTECTED] (Richard Kenner) writes:
| 
| > > My conclusion at the end was, the best speed up possible, isn't to  
| > > mess with the callers, but rather, to get types canonicalized, then  
| > > all the work that comptypes would normally do, hopefully, just all  
| > > goes away.  Though, in the long run those quadratic algorithms have to  
| > > one day die, even if comptypes is fixed.
| > 
| > My confusion here is how can you "canonicalize" types that are different
| > (meaning have different names) without messing up debug information.
| > If you have:
| > 
| >     Foo xyz;
| > 
| > and you display xyz in the debugger, it needs to say it's type "Foo", not
| > some similar-but-differently-named type.
| > 
| > Or maybe this is C++-specific and isn't relevant in C, so I'm not going to
| > understand it.
| 
| The way to canonicalize them is to have all equivalent types point to
| a single canonical type for the equivalence set.  The comparison is
| one memory dereference and one pointer comparison, not the current
| procedure of checking for structural equivalence.

Yes, exactly.

-- Gaby

Reply via email to