blob: 59e0429490c7fd7707baa823bca7a636aad1d8ba [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-fsanitize=null -fno-sanitize-recover=null -w" } */
/* { dg-shouldfail "ubsan" } */
struct S {
int i;
long long j;
long long m;
};
union U {
int k;
struct S l;
};
__attribute__((noinline, noclone)) int
foo (struct S s)
{
return s.i + s.j + s.m;
}
__attribute__((noinline, noclone)) int
bar (union U *u)
{
foo (u->l);
}
union U v;
int
main (void)
{
union U *u = 0;
asm volatile ("" : "+r" (u) : "r" (&v) : "memory");
return bar (u);
}
/* { dg-output "member access within null pointer of type 'union U'" } */