Charles, does this mean passing integers as a quad parameter? is there any other limitation regarding this?
Because as far as i know, 3434234233 does not overflow a 32 bit value.... i looked at my code and it already
handles big integers nicely, but taking "big" a number exceeding 4294967295.
Also taking in account that it works with 1 parameter but fails with two, tells me there may be something else
in this... specially because this works:
quad v = 0
SFUNC5(v+3434234233)
While this:
FUNCTION SFUNC5(quad v1, v2) as quad
if (v1 = 3434234233) then
print "SUCCESS" chr(13, 10)
ELSE
print "FAILURE" chr(13, 10)
end if
end function
quad v = 0
SFUNC5(v+3434234233, v)
Complains about this:
ERROR: parameters mismatch for procedure sfunc5
params given : #long@_
OPTIONS:
sfunc5(quad,quad) returns quad
And this fixes all:
SFUNC5(quad (3434234233), quad 2+2)
Another question: Is there a chance to support BYCOPY with big numbers so that Oxygen creates a temporary
quad variable to pass it as a non-literal number? currently this appears to have no effect... so, i will temporarily
use quad as some sort of bycopy.