// https://bugzilla.gdcproject.org/show_bug.cgi?id=187
// { dg-do run }
// { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
align(1) struct S187b
{
    align(1)
    {
        uint unpaddedA;
        ushort unpaddedB;
    }
}
struct S187a
{
    S187b[3] unpaddedArray;
    ubyte wontInitialize = ubyte.init;
}
struct S187
{
    S187a interesting;
}
void prepareStack()
{
    byte[255] stackGarbage;
    foreach(i, ref b; stackGarbage)
    {
        b  = cast(byte)(-i);
    }
}
void main()
{
    prepareStack();
    auto a = S187(S187a());
    assert(a.interesting.wontInitialize == 0);
}