Merge from mainline (154736:156693)
[official-gcc/graphite-test-results.git] / gcc / testsuite / g++.dg / abi / packed1.C
blob4e759728a17d24fec57a7363e768f75f2ddc7cc3
1 // PR c++/41788
2 // { dg-options "-Wpacked" }
3 // { dg-do run }
5 extern "C" void abort ();
7 struct INNER {
8   virtual int foo() const { return 1; }
9 } __attribute__ ((packed));
11 struct OUTER {
12   char c;
13   INNER inner;
14 } __attribute__ ((packed));
16 int main()
18   OUTER outer;
19   int s = sizeof(outer);
20   int o = (char *)&outer.inner - (char *)&outer;
21   if (s != sizeof (char) + sizeof (void*)
22       || o != sizeof (char))
23     abort ();