------- Comment #2 from reichelt at gcc dot gnu dot org  2009-11-13 10:45 
-------
Confirmed. Reduced testcase (compile with -O2):

============================================
typedef void* Ptr;

struct A
{
  int i;
  union
  {
    Ptr p;
    char *q;
  } u;
};

static void foo(struct A *p, char *q)
{
  if (p->i)
    p->u.p = 0;
  else
    p->u.q = q;
}

void bar(struct A *p, char *q)
{
  foo(p, q);
}
============================================


-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code, monitored
   Last reconfirmed|0000-00-00 00:00:00         |2009-11-13 10:45:15
               date|                            |
            Summary|internal compiler error:    |[4. Regression] ICE
                   |verify_stmts failed (non-   |verify_stmts failed (non-
                   |trivial conversion at       |trivial conversion at
                   |assignment)                 |assignment)
   Target Milestone|---                         |4.5.0


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

Reply via email to