------- Comment #4 from rguenth at gcc dot gnu dot org 2008-09-22 12:22 ------- All XFAILs left are due to the SCCVN union value-numbering optimization being disabled:
#if FIXME /* If this is a reference to a union member, record the union member size as operand. Do so only if we are doing expression insertion (during FRE), as PRE currently gets confused with this. */ if (may_insert && TREE_CODE (DECL_CONTEXT (TREE_OPERAND (ref, 1))) == UNION_TYPE && integer_zerop (DECL_FIELD_OFFSET (TREE_OPERAND (ref, 1))) && integer_zerop (DECL_FIELD_BIT_OFFSET (TREE_OPERAND (ref, 1)))) temp.op0 = TYPE_SIZE (TREE_TYPE (TREE_OPERAND (ref, 1))); else #endif if you simply enable it it miscompiles GCC. The testsuites of all languages are clean though. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.4 Regression] XFAILs from|[4.4 Regression] XFAILs from |PRE rewrite |PRE rewrite, SCCVN union | |optimization disabled http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37145