/* PR tree-optimization/39343 */ /* { dg-do run } */ /* { dg-options "-O2" } */ extern void abort (void); extern inline __attribute__ ((__always_inline__)) int foo (char *dest) { return __builtin_object_size (dest, 1); } struct S { union { struct { int a, b; char c, d; } f; struct { struct { int a, b; char c, d[255]; } e; } g; } u; }; int main (void) { struct S s; if (foo (s.u.g.e.d) != 255) abort (); return 0; }