>> + if (TYPE_NAME (a)&& TYPE_NAME (b) >> +&& !strcmp (TYPE_NAME (a), TYPE_NAME (b))) >> + return 1; > > A minor stylistic nit: can we please use `strcmp (...) == 0' instead > of `!strcmp (...)'? It will produce the same code, but is slightly > more readable. > Oh yeah, I noticed that too but forgot to change it. This patch is revised for the above and contains a fix similar to the 'do_is_ancestor' one pointed out by Tromey in patch 1 of this series. Some tests need to be update as a result.