/* { dg-do compile } */ /* { dg-options "-w" } */ void foo (void * DAG_temp117584) { char uA; void* pA; void* pB; void* pC; do { int DAG_temp117585; int DAG_temp117586; void ** __indir_union1 = (void**)DAG_temp117584; DAG_temp117585 = (long)*__indir_union1; DAG_temp117586 = DAG_temp117585; if ( DAG_temp117586 != (int)268435456 ) pA = (void*)&uA; pB = (void*)&pA; pC = pB; union __block_indir0_u { struct { long val; } __indir_struct; } * __indir_union = (union __block_indir0_u*)pC; f(__indir_union->__indir_struct.val); DAG_temp117584 += 64; } while (1); }