softfloat: fix for C99
C99 appears to consider compound literals as non-constants, and complains when they are used in static initializers. Switch to ordinary initializer syntax. Signed-off-by: Avi Kivity <avi@redhat.com> Acked-by: Andreas Färber <afaerber@suse.de> Reported-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
6344d922a1
commit
3bf7e40ab9
@ -89,8 +89,8 @@ const float64 float64_default_nan = const_float64(LIT64( 0xFFF8000000000000 ));
|
|||||||
#define floatx80_default_nan_low LIT64( 0xC000000000000000 )
|
#define floatx80_default_nan_low LIT64( 0xC000000000000000 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const floatx80 floatx80_default_nan = make_floatx80(floatx80_default_nan_high,
|
const floatx80 floatx80_default_nan
|
||||||
floatx80_default_nan_low);
|
= make_floatx80_init(floatx80_default_nan_high, floatx80_default_nan_low);
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
| The pattern for a default generated quadruple-precision NaN. The `high' and
|
| The pattern for a default generated quadruple-precision NaN. The `high' and
|
||||||
@ -104,8 +104,8 @@ const floatx80 floatx80_default_nan = make_floatx80(floatx80_default_nan_high,
|
|||||||
#define float128_default_nan_low LIT64( 0x0000000000000000 )
|
#define float128_default_nan_low LIT64( 0x0000000000000000 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const float128 float128_default_nan = make_float128(float128_default_nan_high,
|
const float128 float128_default_nan
|
||||||
float128_default_nan_low);
|
= make_float128_init(float128_default_nan_high, float128_default_nan_low);
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
| Raises the exceptions specified by `flags'. Floating-point traps can be
|
| Raises the exceptions specified by `flags'. Floating-point traps can be
|
||||||
|
@ -129,6 +129,7 @@ typedef struct {
|
|||||||
uint16_t high;
|
uint16_t high;
|
||||||
} floatx80;
|
} floatx80;
|
||||||
#define make_floatx80(exp, mant) ((floatx80) { mant, exp })
|
#define make_floatx80(exp, mant) ((floatx80) { mant, exp })
|
||||||
|
#define make_floatx80_init(exp, mant) { .low = mant, .high = exp }
|
||||||
typedef struct {
|
typedef struct {
|
||||||
#ifdef HOST_WORDS_BIGENDIAN
|
#ifdef HOST_WORDS_BIGENDIAN
|
||||||
uint64_t high, low;
|
uint64_t high, low;
|
||||||
@ -137,6 +138,7 @@ typedef struct {
|
|||||||
#endif
|
#endif
|
||||||
} float128;
|
} float128;
|
||||||
#define make_float128(high_, low_) ((float128) { .high = high_, .low = low_ })
|
#define make_float128(high_, low_) ((float128) { .high = high_, .low = low_ })
|
||||||
|
#define make_float128_init(high_, low_) { .high = high_, .low = low_ }
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
| Software IEC/IEEE floating-point underflow tininess-detection mode.
|
| Software IEC/IEEE floating-point underflow tininess-detection mode.
|
||||||
|
Loading…
Reference in New Issue
Block a user