http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52178
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-02-13 12:17:46 UTC --- > Sth I'm not very familiar is the QUAL_UNION record kinds - maybe you > can eye the two merging machineries for obvious errors here? I did, and only came up with the following no-op patchlet: Index: gimple.c =================================================================== --- gimple.c (revision 184143) +++ gimple.c (working copy) @@ -4140,9 +4140,7 @@ iterative_hash_gimple_type (tree type, h v = iterative_hash_hashval_t (na, v); } - if (TREE_CODE (type) == RECORD_TYPE - || TREE_CODE (type) == UNION_TYPE - || TREE_CODE (type) == QUAL_UNION_TYPE) + if (RECORD_OR_UNION_TYPE_P (type)) { unsigned nf; tree f; @@ -4373,9 +4371,7 @@ iterative_hash_canonical_type (tree type v = iterative_hash_hashval_t (na, v); } - if (TREE_CODE (type) == RECORD_TYPE - || TREE_CODE (type) == UNION_TYPE - || TREE_CODE (type) == QUAL_UNION_TYPE) + if (RECORD_OR_UNION_TYPE_P (type)) { unsigned nf; tree f;