xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-longdouble.cpp (revision a28daedfc357b214be5c701aa8ba8adb29a7f1c2)
1 #include <stdio.h>
2 
3 class c{
4 public:
5   char * f;
6 };
7 
8 
9 static class sss: public c{
10 public:
11   long double m;
12 } sss;
13 
14 #define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16)
15 
16 int main (void) {
17   printf ("++Class with longdouble inhereting class with pointer:\n");
18   printf ("size=%d,align=%d\n", sizeof (sss), __alignof__ (sss));
19   printf ("offset-pointer=%d,offset-longdouble=%d,\nalign-pointer=%d,align-longdouble=%d\n",
20           _offsetof (class sss, f), _offsetof (class sss, m),
21           __alignof__ (sss.f), __alignof__ (sss.m));
22   return 0;
23 }
24