(fesetenv): Shift the exception mask in the right position.

This commit is contained in:
Ulrich Drepper 1997-07-11 01:13:24 +00:00
parent 07ce00df82
commit 6cabe500f3
1 changed files with 3 additions and 3 deletions

View File

@ -32,15 +32,15 @@ fesetenv (const fenv_t *envp)
__asm__ ("fmovem%.l %/fpcr/%/fpsr,%0" : "=m" (*&temp));
temp.status_register &= ~FE_ALL_EXCEPT;
temp.control_register &= ~((FE_ALL_EXCEPT << 5) | FE_UPWARD);
temp.control_register &= ~((FE_ALL_EXCEPT << 6) | FE_UPWARD);
if (envp == FE_DFL_ENV)
;
else if (envp == FE_NOMASK_ENV)
temp.control_register |= FE_ALL_EXCEPT << 5;
temp.control_register |= FE_ALL_EXCEPT << 6;
else
{
temp.control_register |= (envp->control_register
& ((FE_ALL_EXCEPT << 5) | FE_UPWARD));
& ((FE_ALL_EXCEPT << 6) | FE_UPWARD));
temp.status_register |= envp->status_register & FE_ALL_EXCEPT;
}