// There is no element array[50], but pointing right behind the last element
// may be fine.
/* expect+1: ... (-1400) ... */
typedef int array_50_a[-(int)__builtin_offsetof(struct foo, array[50].a)];
/* expect+1: ... (-1400) ... */
typedef int sizeof_foo[-(int)sizeof(struct foo)];
// 51 is out of bounds, as it is larger than the size of the struct.
// No warning though, maybe later.
/* expect+1: ... (-1408) ... */
typedef int array_51_a[-(int)__builtin_offsetof(struct foo, array[51].a)];