------- 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