]>
Commit | Line | Data |
---|---|---|
bf4f47e8 JK |
1 | From: http://git.qemu.org/?p=qemu.git;a=commitdiff;h=3bf7e40ab9140e577a6e7e17d3f5711b28aed833 |
2 | ||
3 | From: Avi Kivity <avi@redhat.com> | |
4 | Date: Tue, 27 Dec 2011 15:11:20 +0000 (+0200) | |
5 | Subject: softfloat: fix for C99 | |
6 | ||
7 | softfloat: fix for C99 | |
8 | ||
9 | C99 appears to consider compound literals as non-constants, and complains | |
10 | when they are used in static initializers. Switch to ordinary initializer | |
11 | syntax. | |
12 | ||
13 | ||
14 | diff -dur xen-4.2.0.orig/tools/qemu-xen/fpu/softfloat-specialize.h xen-4.2.0/tools/qemu-xen/fpu/softfloat-specialize.h | |
15 | --- xen-4.2.0.orig/tools/qemu-xen/fpu/softfloat-specialize.h 2012-09-10 20:10:52.000000000 +0200 | |
16 | +++ xen-4.2.0/tools/qemu-xen/fpu/softfloat-specialize.h 2012-10-22 14:58:26.000000000 +0200 | |
17 | @@ -89,8 +89,8 @@ | |
18 | #define floatx80_default_nan_low LIT64( 0xC000000000000000 ) | |
19 | #endif | |
20 | ||
21 | -const floatx80 floatx80_default_nan = make_floatx80(floatx80_default_nan_high, | |
22 | - floatx80_default_nan_low); | |
23 | +const floatx80 floatx80_default_nan | |
24 | + = make_floatx80_init(floatx80_default_nan_high, floatx80_default_nan_low); | |
25 | ||
26 | /*---------------------------------------------------------------------------- | |
27 | | The pattern for a default generated quadruple-precision NaN. The `high' and | |
28 | @@ -104,8 +104,8 @@ | |
29 | #define float128_default_nan_low LIT64( 0x0000000000000000 ) | |
30 | #endif | |
31 | ||
32 | -const float128 float128_default_nan = make_float128(float128_default_nan_high, | |
33 | - float128_default_nan_low); | |
34 | +const float128 float128_default_nan | |
35 | + = make_float128_init(float128_default_nan_high, float128_default_nan_low); | |
36 | ||
37 | /*---------------------------------------------------------------------------- | |
38 | | Raises the exceptions specified by `flags'. Floating-point traps can be | |
39 | diff -dur xen-4.2.0.orig/tools/qemu-xen/fpu/softfloat.h xen-4.2.0/tools/qemu-xen/fpu/softfloat.h | |
40 | --- xen-4.2.0.orig/tools/qemu-xen/fpu/softfloat.h 2012-09-10 20:10:52.000000000 +0200 | |
41 | +++ xen-4.2.0/tools/qemu-xen/fpu/softfloat.h 2012-10-22 14:58:26.000000000 +0200 | |
42 | @@ -129,6 +129,7 @@ | |
43 | uint16_t high; | |
44 | } floatx80; | |
45 | #define make_floatx80(exp, mant) ((floatx80) { mant, exp }) | |
46 | +#define make_floatx80_init(exp, mant) { .low = mant, .high = exp } | |
47 | typedef struct { | |
48 | #ifdef HOST_WORDS_BIGENDIAN | |
49 | uint64_t high, low; | |
50 | @@ -137,6 +138,7 @@ | |
51 | #endif | |
52 | } float128; | |
53 | #define make_float128(high_, low_) ((float128) { .high = high_, .low = low_ }) | |
54 | +#define make_float128_init(high_, low_) { .high = high_, .low = low_ } | |
55 | ||
56 | /*---------------------------------------------------------------------------- | |
57 | | Software IEC/IEEE floating-point underflow tininess-detection mode. |