win32 Crash when function doesn't return a value
SSteve opened this issue · comments
If a function defined as returning a value doesn't return a value, it crashes after a number of invocations. Here's an example from the Coursera class forum:
fun int boom (int inInt)
{
<<< "x" >>>;
}
// this works fine
boom(1);
//This runs fine setting limit to 1,2, or 3
3 => int limit;
for (0 => int i; i < limit; i++)
{
boom(i);
}
/*
// remove comments if you want to crash!
//This goes BOOM! CRASH!
4 => limit;
for (0 => int i; i < limit; i++)
{
boom(i);
}
*/
This is fixed by either declaring the function as fun void boom
or adding the line return 0;
to the end of the function.
The code does not crash under OS X.
OS X 10.8.5
miniAudicle 1.3.0
ChucK 1.3.2.0
Windows 7
miniAudicle 1.3.1
ChucK 1.3.3.0
This hasnt been tested on Windows yet, but the issue should be fixed as of ccrma/chuck@50fad67.