| // PR c++/68727 | |
| // { dg-do compile } | |
| // { dg-options "-Winvalid-offsetof" } | |
| struct A { int i; }; | |
| struct B : virtual A { }; | |
| __SIZE_TYPE__ s = __builtin_offsetof (B, A::i); // { dg-warning "'offsetof' within non-standard-layout type" } | |
| template <typename T> | |
| __SIZE_TYPE__ | |
| foo () | |
| { | |
| return __builtin_offsetof (T, A::i) // { dg-warning "'offsetof' within non-standard-layout type" } | |
| + __builtin_offsetof (B, A::i); // { dg-warning "'offsetof' within non-standard-layout type" } | |
| } | |
| __SIZE_TYPE__ t = foo<B> (); |