// { dg-additional-options "-fmodules-ts" } | |
import One; | |
import Two; | |
struct derived : middle | |
{ | |
long long d; | |
derived (int b_, int m_, int d_) | |
: middle (b_, m_), d (d_) | |
{ | |
} | |
}; | |
int check (derived *d) | |
{ | |
if ((char *)&d->b != (char *)&d->d + sizeof (long long)) | |
return 3; | |
if ((char *)&d->d != (char *)&d->m + sizeof (long long)) | |
return 4; | |
return 0; | |
} | |
int main () | |
{ | |
middle m (1, 2); | |
if (m.b != 1 || m.m != 2) | |
return 1; | |
derived d (1, 2, 3); | |
if (d.b != 99 || d.m != 2 || d.d != 3) | |
return 2; | |
return check (&d); | |
} |