/* Check that Asan correctly instruments bitfields with non-round size. */ | |
/* { dg-do run } */ | |
/* { dg-shouldfail "asan" } */ | |
struct A | |
{ | |
char base; | |
int : 4; | |
long x : 7; | |
}; | |
int __attribute__ ((noinline, noclone)) | |
f (void *p) { | |
return ((struct A *)p)->x; | |
} | |
int | |
main () | |
{ | |
char a = 0; | |
return f (&a); | |
} | |
/* { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow" } */ |