Merged r156806 through r156977 into branch.
[official-gcc.git] / gcc / testsuite / g++.dg / abi / packed1.C
bloba9dce9491fd48dee60bf0085492b86c5a18fc6c2
1 // PR c++/41788
2 // { dg-options "-Wpacked" }
3 // { dg-do run }
5 extern "C" void abort ();
7 struct INNER { // { dg-warning "inefficient.*vptr" "" { target ia64-*-* hppa*-*-* } }
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 ();