[Bug c/34885] [4.3 Regression] ICE in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:574

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Jan 21 13:22:00 GMT 2008



------- Comment #7 from rguenth at gcc dot gnu dot org  2008-01-21 12:58 -------
So, either the source is invalid and the C FE should diagnose it, or we can
'work around' this (and similarly bogus) issues by using VIEW_CONVERT_EXPR
to make the IL valid again.

Ha, and we do.  With -pedantic-errors:

psc.3.i: At top level:
psc.3.i:11: error: function types not truly compatible in ISO C

the code in c-typeck.c:composite_type

            /* Given  wait (union {union wait *u; int *i} *)
               and  wait (union wait *),
               prefer  union wait *  as type of parm.  */
            if (TREE_CODE (TREE_VALUE (p1)) == UNION_TYPE
                && TREE_VALUE (p1) != TREE_VALUE (p2))
              {
...

and now you think the middle-end should simply "deal with it"?  Bah!


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-valid-code           |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34885



More information about the Gcc-bugs mailing list