1. eu 4.0 machine level exception with or_bits
- Posted by ChrisB (moderator) Nov 30, 2008
- 968 views
Hi
Running ide 104 (win32lib 0.70.4a)
machine level exception line 268
function SetFlag(int var, int bit) return or_bits(var, bit) end function
tests
function SetFlag(int var, int bit) object tmp tmp = or_bits(var, bit) --return or_bits(var, bit) return tmp end function
constant FL_Enable =4 . . . function SetFlag(int var, int bit) printf(1, "%d:%d:%d:\n", {var, bit, FL_Enable}) return or_bits(var, bit) end function . . . (1051 calls SetFlag) Dummy[D_FLFlags] = SetFlag(Dummy[D_FLFlags], FL_Enable)
The print from the test print is 4: then get the machine level exception
In otherwords, it looks like, somehow or other the constant FL_Enable is not being used as an int (type) or something
However, in the printf statement, switching bit and FL_Enable produced 4:4:
and in these function parameters (TestFlag, SetFlag, ClearFlag) from int to integer resolved the problem, and allowed ide to start.
I'm not sure where the type int is defined, but is this another example of an eu 4.0 issue?
Chris
2. Re: eu 4.0 machine level exception with or_bits
- Posted by ChrisB (moderator) Nov 30, 2008
- 963 views
- Last edited Dec 01, 2008
Sorry, did it again
Errors occur in Flist.ew
Chris
3. Re: eu 4.0 machine level exception with or_bits
- Posted by mattlewis (admin) Nov 30, 2008
- 1014 views
- Last edited Dec 01, 2008
Hi
Running ide 104 (win32lib 0.70.4a)
machine level exception line 268
[snip]
In otherwords, it looks like, somehow or other the constant FL_Enable is not being used as an int (type) or something
However, in the printf statement, switching bit and FL_Enable produced 4:4:
and in these function parameters (TestFlag, SetFlag, ClearFlag) from int to integer resolved the problem, and allowed ide to start.
I'm not sure where the type int is defined, but is this another example of an eu 4.0 issue?
Yes, I thought we'd fixed this issue, but it looks like there's something else. Basically, int is used as a typedef for integer. It's defined as a global type somewhere, but most places that use it don't include the file, and so it's considered a forward reference until the end. It's likely that something isn't being properly patched up.
Matt