xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/consistency.vlad/layout/c-char-1-c-int.cpp (revision f6aab3d83b51b91c24247ad2c2573574de475a82)
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   int m;
12 } sss;
13 
14 #define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16)
15 
16 int main (void) {
17   printf ("++Class with int inhereting class with char:\n");
18   printf ("size=%d,align=%d\n", sizeof (sss), __alignof__ (sss));
19   printf ("offset-char=%d,offset-int=%d,\nalign-char=%d,align-int=%d\n",
20           _offsetof (class sss, f), _offsetof (class sss, m),
21           __alignof__ (sss.f), __alignof__ (sss.m));
22   return 0;
23 }
24