Re: bug in SOMETHING?!

new topic     » goto parent     » topic index » view thread      » older message » newer message

Hi chrissy,

----------
> Îò: tubby.toast at ntlworld.com
> Êîìó: EUforum <EUforum at topica.com>
> Òåìà: bug in SOMETHING?!
> Äàòà: Monday, February 11, 2002 23:01

> I have code a bit like this
> 
> a=allocate_string("blah")
> err=c_func(functionname,{a})  --err<0 on error, 0 on success
> free(a)
> 
> The code works fine on my Celeron/433 running Windows 98, whatever I do. 
It
> works fine on my Windows 95 486-SX/50 too - unless I bind it with
shrouding
> enabled.  err then shows an error.  However, if I then comment out the
> free(a) line, err shows success.
> 
> Now why should this be?  Euphoria seems to be executing the third line
> before the second in some circumstances.
> 
> So I forced the program to check that functionname had been executed by
> checking for the value of err before freeing a:
> 
> a=allocate_string("blah")
> err=c_func(functionname,{a})
> if err then end if  --check value of err
> free(a)
> 
> and everything works fine.  But this has taken days to track down.
> 
> So is this a bug in
> a) my code
> b) Euphoria
> c) Windows 95
> d) the 486 chip
> e) something else?
> 
> chrissy.

486-SX chips give no access to floating point component (FPU)
on the crystal, so your problem may be solved, it seems to be,
if you'll try the following command in AUTOEXEC.BAT:

 SET NO87=1

Just add this line into your AUTOEXEC.BAT file and reboot your
machine. Then EU will use software floating point functions.

A 486-DX has normal FPU (compatible with 80387 commands).

[AS IS. Without Warranty]

Good luck!

Regards,
Igor Kachan
kinz at peterlink.ru

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu