| // https://bugzilla.gdcproject.org/show_bug.cgi?id=187 |
| // { dg-do run { target hw } } |
| // { 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); |
| } |