blob: 7c7dad8ce8368c0c75800e77d136118d75ae691c [file] [log] [blame]
// https://bugzilla.gdcproject.org/show_bug.cgi?id=210
// { dg-do run }
// { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
struct S210
{
ubyte a;
uint b;
}
union U210
{
S210 a;
uint b;
}
S210 test210a()
{
S210 s = S210(1, 2);
return s;
}
S210[2] test210b()
{
S210[2] s = [S210(1, 2), S210(3, 4)];
return s;
}
U210 test210c()
{
U210 s = U210(S210(1, 2));
return s;
}
U210[2] test210d()
{
U210[2] s = [U210(S210(1, 2)), U210(S210(3, 4))];
return s;
}
void main()
{
S210 a = S210(1, 2);
assert(a == S210(1, 2));
assert(a == test210a());
assert(a != S210(2, 1));
S210[2] b = [S210(1, 2), S210(3, 4)];
assert(b == [S210(1, 2), S210(3, 4)]);
assert(b == test210b());
assert(b != [S210(2, 1), S210(3, 4)]);
U210 c = U210(S210(1, 2));
assert(c == U210(S210(1, 2)));
assert(c == test210c());
assert(c != U210(S210(2, 1)));
U210[2] d = [U210(S210(1, 2)), U210(S210(3, 4))];
assert(d == [U210(S210(1, 2)), U210(S210(3, 4))]);
assert(d == test210d());
assert(d != [U210(S210(2, 1)), U210(S210(3, 4))]);
}