www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - Initialization error in classes

reply David Medlock <noone nowhere.com> writes:
import std.stdio;

class Foo
{
   float[4]  array = 1.0;            // current color
   int count = 10;
}

void main( char[][] args )
{
   Foo f = new Foo();
   writefln("Foo count = %s", f.count );
}


this prints 0(zero) on my machine:
AMD Athlon 64 3200, 1 GB Ram, DMD 0.162

This bug was SUCH a PITA, in my program count was set to 1970169165.
Jul 07 2006
parent reply David Medlock <noone nowhere.com> writes:
David Medlock wrote:
 import std.stdio;
 
 class Foo
 {
   float[4]  array = 1.0;            // current color
   int count = 10;
 }
 
 void main( char[][] args )
 {
   Foo f = new Foo();
   writefln("Foo count = %s", f.count );
 }
 
 
 this prints 0(zero) on my machine:
 AMD Athlon 64 3200, 1 GB Ram, DMD 0.162
 
 This bug was SUCH a PITA, in my program count was set to 1970169165.

Just confirmed this bug does NOT happen in 0.161 -DavidM
Jul 07 2006
next sibling parent reply Walter Bright <newshound digitalmars.com> writes:
David Medlock wrote:
 David Medlock wrote:
 import std.stdio;

 class Foo
 {
   float[4]  array = 1.0;            // current color
   int count = 10;
 }

 void main( char[][] args )
 {
   Foo f = new Foo();
   writefln("Foo count = %s", f.count );
 }


 this prints 0(zero) on my machine:
 AMD Athlon 64 3200, 1 GB Ram, DMD 0.162

 This bug was SUCH a PITA, in my program count was set to 1970169165.

Just confirmed this bug does NOT happen in 0.161

I think it did, it just didn't show itself. Anyhow, the fix will go out in the next update.
Jul 13 2006
parent David Medlock <noone nowhere.com> writes:
Walter Bright wrote:
 
 I think it did, it just didn't show itself. Anyhow, the fix will go out 
 in the next update.

Thanks, Walter.
Jul 14 2006
prev sibling parent Thomas Kuehne <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

David Medlock schrieb am 2006-07-08:
 David Medlock wrote:
 import std.stdio;
 
 class Foo
 {
   float[4]  array = 1.0;            // current color
   int count = 10;
 }
 
 void main( char[][] args )
 {
   Foo f = new Foo();
   writefln("Foo count = %s", f.count );
 }
 
 
 this prints 0(zero) on my machine:
 AMD Athlon 64 3200, 1 GB Ram, DMD 0.162
 
 This bug was SUCH a PITA, in my program count was set to 1970169165.

Just confirmed this bug does NOT happen in 0.161

Added to DStress as http://dstress.kuehne.cn/run/o/odd_bug_06_A.d http://dstress.kuehne.cn/run/o/odd_bug_06_B.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFE4Zb6LK5blCcjpWoRAoBFAJ9akW1mjVQ3Qr+L2mXs7+h2mNtuMwCeOXVx VabFVDTXK944qM7KRFmro/4= =PxgN -----END PGP SIGNATURE-----
Aug 15 2006