/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-ccp1 -W -Wall" } */
#if (__SIZEOF_INT__ == __SIZEOF_FLOAT__)
typedef int intflt;
#elif (__SIZEOF_LONG__ == __SIZEOF_FLOAT__)
typedef long intflt;
#else
#error Add target support here for type that will union float size
#endif

intflt b;
void f(void)
{
  float a;
  a = 1;
  b = *(intflt*)&a; /* { dg-warning "aliasing" } */
}

/* We should be able to convert the cast to a VCE in forwprop1,
   even if there is an aliasing violation.
   ???  While this would be useful and nice to our users in this
   particular situation before doing this transformation we have to
   assure that a is killed by a dominating store via type float for
   it to be valid.  Then we might as well handle the situation by
   value-numbering, removing the load altogether.
   ???  We now do this after CPP re-writes a into SSA form.  */
/* { dg-final { scan-tree-dump-times "VIEW_CONVERT_EXPR" 1 "ccp1" } } */

/* The invalid access above may also trigger -Wuninitialized.
   { dg-prune-output "-Wuninitialized" } */
