* mingwex/math/trunc.c (trunc): Provide lvalue for memory input constraint.
* mingwex/math/truncf.c (truncf): Likewise. * mingwex/math/truncl.c (truncl): Likewise. * mingwex/math/modff.c (modff): Likewise. * mingwex/math/modfl.c (modfl): Likewise.
This commit is contained in:
@@ -9,10 +9,11 @@ modff (float value, float* iptr)
|
||||
{
|
||||
float int_part;
|
||||
unsigned short saved_cw;
|
||||
unsigned short tmp_cw;
|
||||
/* truncate */
|
||||
asm ("fnstcw %0;" : "=m" (saved_cw)); /* save control word */
|
||||
asm ("fldcw %0;" : : "m" ((saved_cw & ~FE_ROUNDING_MASK)
|
||||
| FE_TOWARDZERO));
|
||||
tmp_cw = (saved_cw & ~FE_ROUNDING_MASK) | FE_TOWARDZERO;
|
||||
asm ("fldcw %0;" : : "m" (tmp_cw));
|
||||
asm ("frndint;" : "=t" (int_part) : "0" (value)); /* round */
|
||||
asm ("fldcw %0;" : : "m" (saved_cw)); /* restore saved cw */
|
||||
if (iptr)
|
||||
|
Reference in New Issue
Block a user