# HG changeset patch # User thomask # Date 1175329516 0 # Node ID ca5b18e46ec7eac1ea9d855e13e81289df826a53 # Parent e489e020a55de549eb6a550eaeb9e4b85a46aeb1 r7386@birke: tk | 2007-03-29 15:38:42 +0200 [Issue 1055] union forward reference "overlapping initialization" error Bill Baxter 2007-03-12 http://d.puremagic.com/issues/show_bug.cgi?id=1055 diff -r e489e020a55d -r ca5b18e46ec7 run/f/forward_reference_20_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/f/forward_reference_20_A.d Sat Mar 31 08:25:16 2007 +0000 @@ -0,0 +1,33 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Bill Baxter +// @date@ 2007-03-12 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1055 +// @desc@ [Issue 1055] union forward reference "overlapping initialization" error + +module dstress.run.f.forward_reference_20_A; + + +struct Z { + int x = 0x9ABC_DEF0; + union { + S s; + } +} + +struct S{ + int y = 0x1234_5678; +} + +int main(){ + Z z; + if(0x9ABC_DEF0 != z.x){ + assert(0); + } + if(0x1234_5678 != z.s.y){ + assert(0); + } + return 0; +} diff -r e489e020a55d -r ca5b18e46ec7 run/f/forward_reference_20_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/f/forward_reference_20_B.d Sat Mar 31 08:25:16 2007 +0000 @@ -0,0 +1,33 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Bill Baxter +// @date@ 2007-03-12 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1055 +// @desc@ [Issue 1055] union forward reference "overlapping initialization" error + +module dstress.run.f.forward_reference_20_B; + + +struct Z { + union { + S s; + } + int x = 0x9ABC_DEF0; +} + +struct S{ + int y = 0x1234_5678; +} + +int main(){ + Z z; + if(0x9ABC_DEF0 != z.x){ + assert(0); + } + if(0x1234_5678 != z.s.y){ + assert(0); + } + return 0; +} diff -r e489e020a55d -r ca5b18e46ec7 run/f/forward_reference_20_C.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/f/forward_reference_20_C.d Sat Mar 31 08:25:16 2007 +0000 @@ -0,0 +1,32 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Bill Baxter +// @date@ 2007-03-12 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1055 +// @desc@ [Issue 1055] union forward reference "overlapping initialization" error + +module dstress.run.f.forward_reference_20_C; + +struct S{ + int y = 0x1234_5678; +} + +struct Z { + union { + S s; + } + int x = 0x9ABC_DEF0; +} + +int main(){ + Z z; + if(0x9ABC_DEF0 != z.x){ + assert(0); + } + if(0x1234_5678 != z.s.y){ + assert(0); + } + return 0; +} diff -r e489e020a55d -r ca5b18e46ec7 run/f/forward_reference_20_D.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/f/forward_reference_20_D.d Sat Mar 31 08:25:16 2007 +0000 @@ -0,0 +1,32 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Bill Baxter +// @date@ 2007-03-12 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1055 +// @desc@ [Issue 1055] union forward reference "overlapping initialization" error + +module dstress.run.f.forward_reference_20_D; + +struct S{ + int y = 0x1234_5678; +} + +struct Z { + int x = 0x9ABC_DEF0; + union { + S s; + } +} + +int main(){ + Z z; + if(0x9ABC_DEF0 != z.x){ + assert(0); + } + if(0x1234_5678 != z.s.y){ + assert(0); + } + return 0; +}