http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54038
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-07-20 11:48:40 UTC --- > That is, the following should hold true: > TYPE_MAIN_VARIANT (TYPE_CANONICAL (x)) == TYPE_CANONICAL (x) I disagree, that is very often not the case. TYPE_CANONICAL includes in it qualifiers, TYPE_MAIN_VARIANT has them stripped, so whenever you have some type with any qualifiers, its TYPE_CANONICAL (either equal to the type itself or some different type) will not be its own TYPE_MAIN_VARIANT.