1 #include <stdio.h>
2 
3 static struct sss{
4   long double f;
5   int :0;
6   int i;
7 } sss;
8 
9 #define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16)
10 
main(void)11 int main (void) {
12   printf ("+++int zerofield inside struct starting with longdouble:\n");
13   printf ("size=%d,align=%d\n", sizeof (sss), __alignof__ (sss));
14   printf ("offset-longdouble=%d,offset-last=%d,\nalign-longdouble=%d,align-last=%d\n",
15           _offsetof (struct sss, f), _offsetof (struct sss, i),
16           __alignof__ (sss.f), __alignof__ (sss.i));
17   return 0;
18 }
19