diff options
Diffstat (limited to 'sysdeps/hppa/fpu/feupdateenv.c')
-rw-r--r-- | sysdeps/hppa/fpu/feupdateenv.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sysdeps/hppa/fpu/feupdateenv.c b/sysdeps/hppa/fpu/feupdateenv.c index 8980dfd69c..7d50282e05 100644 --- a/sysdeps/hppa/fpu/feupdateenv.c +++ b/sysdeps/hppa/fpu/feupdateenv.c @@ -27,11 +27,10 @@ feupdateenv (const fenv_t *envp) /* Get the current exception status. */ __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); - sw[0] &= FE_ALL_EXCEPT; - envp->__status_word = envp->__status_word | sw[0]; - /* Install new environment. */ fesetenv (envp); + /* Raise the saved exceptions */ + feraiseexcept(sw[0] & FE_ALL_EXCEPT); /* Success. */ return 0; |