Hi again ! I have some more informations, about the problem I have with the new floating point functions. In fact, it seems that when I call _d_itod( val ), the function try to read/write at the location pointed to by val, as if it was a pointer ! I know it is a Int32 type, but if for exemple val=2, then I got the error message : "just wrote to memory location 0x00000002, which is in low memory". And if val=0x7B589572, as in the previous email, I got the message : "just read from memory location 0x7B589572, causing a bus error" So, why is _d_itod function using the parameter as a pointer ? Here is the generated code for the following C lines : FlpDouble m; m = _d_itod( 2 ); This generate : pea 2.w moveq #8, %d2 trap #15 dc.w 0xA306 And no, it's not due to the fact I'm using the value 2, directly : if I use a Int32 variable, the compiler just replace the pea 2.w by a move.l %d3, -(sp) which give the same effect : it push the content of the value into the stack. So, the problem seems to be really in the handling of the FP trap. I remind that I'm using SDK 4.0 with prc-tools 2.0.92 on Linux. I'm using multisegmented code, but I have tried to put the function doing this call this into a "normal" segment ( code ressource 1 ) and into an other section, but I get the same result. Any idea what's wrong ? Thanks. -- Daniel Morais -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
