Bug from cpuid wrapper thread in D.announce: char[12] str = "";

notknown notknown at none.com
Thu Oct 26 02:37:57 PDT 2006

 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.

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);

$dmd -w bug.d
gcc bug.o -o bug -m32 -lphobos -lpthread -lm

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.

More information about the Digitalmars-d-bugs mailing list