D - DMD 0.61 Bug
- Dario (23/23) Apr 28 2003 The following code:
- Paul Runde (31/56) Apr 28 2003 I was using printf's to try to see what was going on.
- Paul Runde (27/52) Apr 28 2003 Try this:
- Walter (1/1) May 01 2003 Looks like a bug. I'll check it out. -Walter
The following code:
class MyClass
{
uint myFunc()
{
uint myInt = 13;
uint mySubFunc()
{
return myInt;
}
return mySubFunc();
}
}
int main()
{
MyClass myInstance = new MyClass;
printf("%i", myInstance.myFunc());
return 0;
}
Should print 13. It prints 4202543 instead. =)
If I move "uint myInt = 13;" from myFunc's to MyClass's scope it works
correctly.
I hope I haven't reported an already reported bug.
Apr 28 2003
I was using printf's to try to see what was going on.
class MyClass
{
uint myFunc()
{
uint myInt = 13;
//printf("%d\n", myInt);
uint mySubFunc()
{
printf("%d\n", myInt);
return myInt;
}
//printf("%d\n", myInt);
return mySubFunc();
}
}
int main(char[][] args)
{
MyClass myInstance = new MyClass;
printf("%i", myInstance.myFunc());
return 0;
}
Run this and it returns:
4202571
4202571
Uncomment one of the other printf's and I get:
13
13
13
What would cause that?
Dario wrote:
The following code:
class MyClass
{
uint myFunc()
{
uint myInt = 13;
uint mySubFunc()
{
return myInt;
}
return mySubFunc();
}
}
int main()
{
MyClass myInstance = new MyClass;
printf("%i", myInstance.myFunc());
return 0;
}
Should print 13. It prints 4202543 instead. =)
If I move "uint myInt = 13;" from myFunc's to MyClass's scope it works
correctly.
I hope I haven't reported an already reported bug.
Apr 28 2003
Try this:
class MyClass
{
uint myFunc()
{
uint myInt = 13;
uint mySubFunc()
{
printf("%d\n", *(&myInt + 2));
printf("%d\n", myInt);
return myInt;
}
return mySubFunc();
}
}
int main(char[][] args)
{
MyClass myInstance = new MyClass;
printf("%i", myInstance.myFunc());
return 0;
}
Prints:
13
4202599
4202599
The first line is whatever number I have initialized myInt with.
Dario wrote:
The following code:
class MyClass
{
uint myFunc()
{
uint myInt = 13;
uint mySubFunc()
{
return myInt;
}
return mySubFunc();
}
}
int main()
{
MyClass myInstance = new MyClass;
printf("%i", myInstance.myFunc());
return 0;
}
Should print 13. It prints 4202543 instead. =)
If I move "uint myInt = 13;" from myFunc's to MyClass's scope it works
correctly.
I hope I haven't reported an already reported bug.
Apr 28 2003









Paul Runde <prunde consolidated.net> 