SH: Use fpu_control_t for the temporary FPU control word.

This commit is contained in:
Thomas Schwinge 2012-05-28 01:03:18 +02:00
parent 3f99608f82
commit 04fb54b507
13 changed files with 34 additions and 19 deletions

View File

@ -1,3 +1,19 @@
2012-05-27 Thomas Schwinge <thomas@codesourcery.com>
* sysdeps/sh/sh4/fpu/fclrexcpt.c (feclearexcept): Use fpu_control_t for
the temporary FPU control word.
* sysdeps/sh/sh4/fpu/fedisblxcpt.c (fedisableexcept): Likewise.
* sysdeps/sh/sh4/fpu/feenablxcpt.c (feenableexcept): Likewise.
* sysdeps/sh/sh4/fpu/fegetenv.c (fegetenv): Likewise.
* sysdeps/sh/sh4/fpu/fegetexcept.c (fegetexcept): Likewise.
* sysdeps/sh/sh4/fpu/fegetround.c (fegetround): Likewise.
* sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Likewise.
* sysdeps/sh/sh4/fpu/fesetenv.c (fesetenv): Likewise.
* sysdeps/sh/sh4/fpu/fesetround.c (fesetround): Likewise.
* sysdeps/sh/sh4/fpu/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/sh/sh4/fpu/fsetexcptflg.c (fesetexceptflag): Likewise.
* sysdeps/sh/sh4/fpu/ftestexcept.c (fetestexcept): Likewise.
2012-05-27 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/sh4/fpu/fraiseexcpt.c (feraiseexcept): Restore fpscr flag

View File

@ -1,5 +1,5 @@
/* Clear given exceptions in current floating-point environment.
Copyright (C) 1998, 2000 Free Software Foundation, Inc.
Copyright (C) 1998-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
@ -23,7 +23,7 @@
int
feclearexcept (int excepts)
{
int cw;
fpu_control_t cw;
/* Mask out unsupported bits/exceptions. */
excepts &= FE_ALL_EXCEPT;

View File

@ -23,7 +23,7 @@
int
fedisableexcept (int excepts)
{
unsigned int temp, old_exc;
fpu_control_t temp, old_exc;
/* Get the current control register contents. */
_FPU_GETCW (temp);

View File

@ -23,7 +23,7 @@
int
feenableexcept (int excepts)
{
unsigned int temp, old_flag;
fpu_control_t temp, old_flag;
/* Get current exceptions. */
_FPU_GETCW (temp);

View File

@ -22,7 +22,7 @@
int
fegetenv (fenv_t *envp)
{
unsigned long int temp;
fpu_control_t temp;
_FPU_GETCW (temp);
/* When read fpscr, this was initialized.
We need to rewrite value of temp. */

View File

@ -23,7 +23,7 @@
int
fegetexcept (void)
{
unsigned int temp;
fpu_control_t temp;
/* Get current exceptions. */
_FPU_GETCW (temp);

View File

@ -1,5 +1,5 @@
/* Return current rounding direction.
Copyright (C) 1998, 2000 Free Software Foundation, Inc.
Copyright (C) 1998-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
@ -23,7 +23,7 @@
int
fegetround (void)
{
int cw;
fpu_control_t cw;
/* Get control word. */
_FPU_GETCW (cw);

View File

@ -1,6 +1,5 @@
/* Store current floating-point environment and clear exceptions.
Copyright (C) 1997, 1998, 1999, 2000, 2005, 2010
Free Software Foundation, Inc.
Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -23,7 +22,7 @@
int
feholdexcept (fenv_t *envp)
{
unsigned long int temp;
fpu_control_t temp;
/* Store the environment. */
_FPU_GETCW (temp);

View File

@ -1,5 +1,5 @@
/* Install given floating-point environment.
Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -26,7 +26,7 @@ fesetenv (const fenv_t *envp)
_FPU_SETCW (_FPU_DEFAULT);
else
{
unsigned long int temp = envp->__fpscr;
fpu_control_t temp = envp->__fpscr;
_FPU_SETCW (temp);
}
return 0;

View File

@ -23,7 +23,7 @@
int
fesetround (int round)
{
unsigned int cw;
fpu_control_t cw;
if ((round & ~0x3) != 0)
/* ROUND is no valid rounding mode. */

View File

@ -23,7 +23,7 @@
int
feupdateenv (const fenv_t *envp)
{
unsigned int temp;
fpu_control_t temp;
_FPU_GETCW (temp);
temp = (temp & FE_ALL_EXCEPT);

View File

@ -1,5 +1,5 @@
/* Set floating-point environment exception handling.
Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -23,7 +23,7 @@
int
fesetexceptflag (const fexcept_t *flagp, int excepts)
{
fexcept_t temp;
fpu_control_t temp;
/* Get the current environment. */
_FPU_GETCW (temp);

View File

@ -1,5 +1,5 @@
/* Test exception in current environment.
Copyright (C) 1997, 1998, 2000, 2010 Free Software Foundation, Inc.
Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -22,7 +22,7 @@
int
fetestexcept (int excepts)
{
fexcept_t temp;
fpu_control_t temp;
/* Get current exceptions. */
_FPU_GETCW (temp);