1*c87b03e5Sespie #include <stdio.h>
2*c87b03e5Sespie 
3*c87b03e5Sespie class c{
4*c87b03e5Sespie public:
5*c87b03e5Sespie   char f;
6*c87b03e5Sespie };
7*c87b03e5Sespie 
8*c87b03e5Sespie 
9*c87b03e5Sespie static class sss: public c{
10*c87b03e5Sespie public:
11*c87b03e5Sespie   long m;
12*c87b03e5Sespie } sss;
13*c87b03e5Sespie 
14*c87b03e5Sespie #define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16)
15*c87b03e5Sespie 
main(void)16*c87b03e5Sespie int main (void) {
17*c87b03e5Sespie   printf ("++Class with long inhereting class with char:\n");
18*c87b03e5Sespie   printf ("size=%d,align=%d\n", sizeof (sss), __alignof__ (sss));
19*c87b03e5Sespie   printf ("offset-char=%d,offset-long=%d,\nalign-char=%d,align-long=%d\n",
20*c87b03e5Sespie           _offsetof (class sss, f), _offsetof (class sss, m),
21*c87b03e5Sespie           __alignof__ (sss.f), __alignof__ (sss.m));
22*c87b03e5Sespie   return 0;
23*c87b03e5Sespie }
24