1  /* { dg-do compile } */
       2  /* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-details" } */
       3  
       4  union U {
       5    float f;
       6    int i;
       7  };
       8  
       9  int foo (union U *p)
      10  {
      11    union U u;
      12    p->f = 0.0;
      13    u = *p;
      14    return u.i;
      15  }
      16  
      17  /* avr has 16 bit int and 32 bit float */
      18  /* { dg-final { scan-tree-dump "Replaced u.i with 0 in" "fre1" {xfail avr-*-* } } } */