/* APPLE LOCAL file 4641942 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-fstrict-aliasing -Wstrict-aliasing" } */ | |
typedef struct rec { | |
unsigned long hi; | |
unsigned long lo; | |
} rec; | |
typedef struct data | |
{ | |
unsigned long long s; | |
unsigned long long t; | |
} data; | |
void foo (void) | |
{ | |
data* eng; | |
unsigned long long next = eng->t + eng->s; | |
rec m = *((rec*)&next); /* { dg-warning "dereferencing type-punned pointer will break strict-aliasing rules" } */ | |
} |