Difference between revisions of "ChucK/Bugs/Known"
From CSWiki
Line 12: | Line 12: | ||
// workaround | // workaround | ||
int a; int b; | int a; int b; | ||
+ | |||
== Sporking Non-static Member Functions == | == Sporking Non-static Member Functions == | ||
Line 25: | Line 26: | ||
// bug: causes crash and undefined behavior | // bug: causes crash and undefined behavior | ||
spork ~ x.foo(); | spork ~ x.foo(); | ||
+ | |||
== ++/-- inline bugs == | == ++/-- inline bugs == | ||
Line 33: | Line 35: | ||
Workaround: split into multiple statements | Workaround: split into multiple statements | ||
+ | |||
== Static class variable initialization == | == Static class variable initialization == |
Revision as of 21:31, 15 July 2006
These following have been verified and will be fixed in an upcoming release.
Contents
Multiple Declarations
- multiple declarations in single statement causes crashes/undefined behavior. Example:
// bug: this causes bad things to happen int a, b;
Here is a workaround until the bug is fixed:
// workaround int a; int b;
Sporking Non-static Member Functions
- spork a non-static member function causes crashes/undefined behavior. Example:
class X { void fun foo() { <<< "hi" >>>; } } X x; // bug: causes crash and undefined behavior spork ~ x.foo();
++/-- inline bugs
- ++/-- causes incorrect behavior when used inline. Example:
// bug i++ * y++ => z;
Workaround: split into multiple statements
Static class variable initialization
- static class variables are initialized incorrectly. Example:
class X { // bug - this is not initialized static Object our_object; }
Here is a workaround:
class X { // declare as reference static Object @ our_object; } // initialize outside class new Object @=> X.our_object;