digitalmars.D.bugs - Bug from cpuid wrapper thread in D.announce: char[12] str = "";
- notknown (41/44) Oct 26 2006 Okay, I narrowed it down as much as I could to this little test.
- Thomas Kuehne (13/58) Nov 23 2006 -----BEGIN PGP SIGNED MESSAGE-----
From the cpuid wrapper thread in D.annoucments. Tomas Lindquist Olsen:Do you think you could narrow this down? Seems it's not happening for Windows users. Might as well report it if it's a real bug. Basically some testing of class member initialisers.Okay, I narrowed it down as much as I could to this little test. bug.d: [code] module bug; import std.stdio; class Bug { char[12] str = ""; uint t = 1; } class NoBug { uint t = 1; char[12] str = ""; } class NoBug2 { char[12] str; uint t = 1; } void main() { auto b = new Bug; auto n = new NoBug; auto n2 = new NoBug2; writefln("bug %d", b.t); writefln("nobug %d", n.t); writefln("nobug2 %d", n2.t); } [/code] $dmd -w bug.d gcc bug.o -o bug -m32 -lphobos -lpthread -lm $./bug.d bug 0 nobug 1 nobug2 1 Digital Mars D Compiler v0.172 I run on Ubuntu Kernel 2.6.15-27-k7 Hope that helps.
Oct 26 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 notknown schrieb am 2006-10-26:From the cpuid wrapper thread in D.annoucments. Tomas Lindquist Olsen:Added to DStress as http://dstress.kuehne.cn/run/o/odd_bug_10_A.d http://dstress.kuehne.cn/run/o/odd_bug_10_B.d http://dstress.kuehne.cn/run/o/odd_bug_10_C.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFFZXhALK5blCcjpWoRAn52AKCWSIjNSw8Eig1lplvX2DF+Mql4vgCgrb3L SCU8YQ4mw1PufZ7KTxYM2tY= =iQQz -----END PGP SIGNATURE-----Do you think you could narrow this down? Seems it's not happening for Windows users. Might as well report it if it's a real bug. Basically some testing of class member initialisers.Okay, I narrowed it down as much as I could to this little test. bug.d: [code] module bug; import std.stdio; class Bug { char[12] str = ""; uint t = 1; } class NoBug { uint t = 1; char[12] str = ""; } class NoBug2 { char[12] str; uint t = 1; } void main() { auto b = new Bug; auto n = new NoBug; auto n2 = new NoBug2; writefln("bug %d", b.t); writefln("nobug %d", n.t); writefln("nobug2 %d", n2.t); } [/code] $dmd -w bug.d gcc bug.o -o bug -m32 -lphobos -lpthread -lm $./bug.d bug 0 nobug 1 nobug2 1 Digital Mars D Compiler v0.172 I run on Ubuntu Kernel 2.6.15-27-k7 Hope that helps.
Nov 23 2006