提交 5aea4c58 编写于 作者: A Andreas Färber 提交者: Blue Swirl

softfloat: Replace uint16 type with uint_fast16_t

Based on the following Coccinelle patch:

@@
typedef uint16, uint_fast16_t;
@@
-uint16
+uint_fast16_t

Fixes the build of the Cocoa frontend on Mac OS X and avoids a
workaround for AIX.

For pre-10 Solaris include osdep.h.
Reported-by: NPavel Borzenkov <pavel.borzenkov@gmail.com>
Reported-by: NRui Carmo <rui.carmo@gmail.com>
Signed-off-by: NAndreas Färber <afaerber@suse.de>
Cc: Juan Pineda <juan@logician.com>
Cc: malc <av1474@comtv.ru>
Cc: Ben Taylor <bentaylor.solx86@gmail.com>
Tested-by: NBernhard Walle <bernhard@bwalle.de>
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
上级 dda3c2ee
...@@ -6443,10 +6443,10 @@ uint32 float32_to_uint32_round_to_zero( float32 a STATUS_PARAM ) ...@@ -6443,10 +6443,10 @@ uint32 float32_to_uint32_round_to_zero( float32 a STATUS_PARAM )
return res; return res;
} }
uint16 float32_to_uint16_round_to_zero( float32 a STATUS_PARAM ) uint_fast16_t float32_to_uint16_round_to_zero(float32 a STATUS_PARAM)
{ {
int64_t v; int64_t v;
uint16 res; uint_fast16_t res;
v = float32_to_int64_round_to_zero(a STATUS_VAR); v = float32_to_int64_round_to_zero(a STATUS_VAR);
if (v < 0) { if (v < 0) {
...@@ -6497,10 +6497,10 @@ uint32 float64_to_uint32_round_to_zero( float64 a STATUS_PARAM ) ...@@ -6497,10 +6497,10 @@ uint32 float64_to_uint32_round_to_zero( float64 a STATUS_PARAM )
return res; return res;
} }
uint16 float64_to_uint16_round_to_zero( float64 a STATUS_PARAM ) uint_fast16_t float64_to_uint16_round_to_zero(float64 a STATUS_PARAM)
{ {
int64_t v; int64_t v;
uint16 res; uint_fast16_t res;
v = float64_to_int64_round_to_zero(a STATUS_VAR); v = float64_to_int64_round_to_zero(a STATUS_VAR);
if (v < 0) { if (v < 0) {
......
...@@ -44,6 +44,7 @@ these four paragraphs for those parts of this code that are retained. ...@@ -44,6 +44,7 @@ these four paragraphs for those parts of this code that are retained.
#include <inttypes.h> #include <inttypes.h>
#include "config-host.h" #include "config-host.h"
#include "osdep.h"
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
| Each of the following `typedef's defines the most convenient type that holds | Each of the following `typedef's defines the most convenient type that holds
...@@ -57,7 +58,6 @@ typedef uint8_t flag; ...@@ -57,7 +58,6 @@ typedef uint8_t flag;
typedef uint8_t uint8; typedef uint8_t uint8;
typedef int8_t int8; typedef int8_t int8;
#ifndef _AIX #ifndef _AIX
typedef int uint16;
typedef int int16; typedef int int16;
#endif #endif
typedef unsigned int uint32; typedef unsigned int uint32;
...@@ -263,7 +263,7 @@ extern const float16 float16_default_nan; ...@@ -263,7 +263,7 @@ extern const float16 float16_default_nan;
| Software IEC/IEEE single-precision conversion routines. | Software IEC/IEEE single-precision conversion routines.
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
int16 float32_to_int16_round_to_zero( float32 STATUS_PARAM ); int16 float32_to_int16_round_to_zero( float32 STATUS_PARAM );
uint16 float32_to_uint16_round_to_zero( float32 STATUS_PARAM ); uint_fast16_t float32_to_uint16_round_to_zero(float32 STATUS_PARAM);
int32 float32_to_int32( float32 STATUS_PARAM ); int32 float32_to_int32( float32 STATUS_PARAM );
int32 float32_to_int32_round_to_zero( float32 STATUS_PARAM ); int32 float32_to_int32_round_to_zero( float32 STATUS_PARAM );
uint32 float32_to_uint32( float32 STATUS_PARAM ); uint32 float32_to_uint32( float32 STATUS_PARAM );
...@@ -367,7 +367,7 @@ extern const float32 float32_default_nan; ...@@ -367,7 +367,7 @@ extern const float32 float32_default_nan;
| Software IEC/IEEE double-precision conversion routines. | Software IEC/IEEE double-precision conversion routines.
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
int16 float64_to_int16_round_to_zero( float64 STATUS_PARAM ); int16 float64_to_int16_round_to_zero( float64 STATUS_PARAM );
uint16 float64_to_uint16_round_to_zero( float64 STATUS_PARAM ); uint_fast16_t float64_to_uint16_round_to_zero(float64 STATUS_PARAM);
int32 float64_to_int32( float64 STATUS_PARAM ); int32 float64_to_int32( float64 STATUS_PARAM );
int32 float64_to_int32_round_to_zero( float64 STATUS_PARAM ); int32 float64_to_int32_round_to_zero( float64 STATUS_PARAM );
uint32 float64_to_uint32( float64 STATUS_PARAM ); uint32 float64_to_uint32( float64 STATUS_PARAM );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册