1. eu 4.0 machine level exception with or_bits

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

new topic     » topic index » view message » categorize

2. Re: eu 4.0 machine level exception with or_bits

Sorry, did it again

Errors occur in Flist.ew

Chris

new topic     » goto parent     » topic index » view message » categorize

3. Re: eu 4.0 machine level exception with or_bits

ChrisB said...

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu