9ae3a8
From 05ea4eb9e64508f25f806683a470b68fb286770e Mon Sep 17 00:00:00 2001
9ae3a8
Message-Id: <05ea4eb9e64508f25f806683a470b68fb286770e.1418766606.git.jen@redhat.com>
9ae3a8
In-Reply-To: <6f81b4847eb68ebdf54a8f1a771e19d112d74152.1418766606.git.jen@redhat.com>
9ae3a8
References: <6f81b4847eb68ebdf54a8f1a771e19d112d74152.1418766606.git.jen@redhat.com>
9ae3a8
From: Fam Zheng <famz@redhat.com>
9ae3a8
Date: Thu, 4 Dec 2014 00:05:17 -0600
9ae3a8
Subject: [CHANGE 23/31] fpu: softfloat: drop INLINE macro
9ae3a8
To: rhvirt-patches@redhat.com,
9ae3a8
    jen@redhat.com
9ae3a8
9ae3a8
RH-Author: Fam Zheng <famz@redhat.com>
9ae3a8
Message-id: <1417651524-18041-24-git-send-email-famz@redhat.com>
9ae3a8
Patchwork-id: 62696
9ae3a8
O-Subject: [RHEL-7.1 qemu-kvm PATCH v5 23/30] fpu: softfloat: drop INLINE macro
9ae3a8
Bugzilla: 1002493
9ae3a8
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
9ae3a8
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
9ae3a8
RH-Acked-by: Max Reitz <mreitz@redhat.com>
9ae3a8
9ae3a8
From: Luiz Capitulino <lcapitulino@redhat.com>
9ae3a8
9ae3a8
This commit expands all uses of the INLINE macro and drop it.
9ae3a8
9ae3a8
The reason for this is to avoid clashes with external libraries with
9ae3a8
bad name conventions and also because renaming keywords is not a good
9ae3a8
practice.
9ae3a8
9ae3a8
PS: I'm fine with this change to be licensed under softfloat-2a or
9ae3a8
softfloat-2b.
9ae3a8
9ae3a8
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
9ae3a8
(cherry picked from commit a49db98d1f85ada0c4e5bb22bd93d541e7159c43)
9ae3a8
Signed-off-by: Fam Zheng <famz@redhat.com>
9ae3a8
Signed-off-by: Jeff E. Nelson <jen@redhat.com>
9ae3a8
9ae3a8
Conflicts:
9ae3a8
	fpu/softfloat.c
9ae3a8
	include/fpu/softfloat.h
9ae3a8
The code that uses "INLINE" is different, but the conflict resolution is
9ae3a8
trivially expand "INLINE" to "static inline".
9ae3a8
9ae3a8
Signed-off-by: Jeff E. Nelson <jen@redhat.com>
9ae3a8
---
9ae3a8
 fpu/softfloat-macros.h  | 38 ++++++++++++-------------
9ae3a8
 fpu/softfloat.c         | 48 ++++++++++++++++----------------
9ae3a8
 include/fpu/softfloat.h | 73 ++++++++++++++++++++++++-------------------------
9ae3a8
 3 files changed, 79 insertions(+), 80 deletions(-)
9ae3a8
9ae3a8
diff --git a/fpu/softfloat-macros.h b/fpu/softfloat-macros.h
9ae3a8
index b5164af..24ec452 100644
9ae3a8
--- a/fpu/softfloat-macros.h
9ae3a8
+++ b/fpu/softfloat-macros.h
9ae3a8
@@ -55,7 +55,7 @@ these four paragraphs for those parts of this code that are retained.
9ae3a8
 | The result is stored in the location pointed to by `zPtr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void shift32RightJamming(uint32_t a, int_fast16_t count, uint32_t *zPtr)
9ae3a8
+static inline void shift32RightJamming(uint32_t a, int_fast16_t count, uint32_t *zPtr)
9ae3a8
 {
9ae3a8
     uint32_t z;
9ae3a8
 
9ae3a8
@@ -81,7 +81,7 @@ INLINE void shift32RightJamming(uint32_t a, int_fast16_t count, uint32_t *zPtr)
9ae3a8
 | The result is stored in the location pointed to by `zPtr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void shift64RightJamming(uint64_t a, int_fast16_t count, uint64_t *zPtr)
9ae3a8
+static inline void shift64RightJamming(uint64_t a, int_fast16_t count, uint64_t *zPtr)
9ae3a8
 {
9ae3a8
     uint64_t z;
9ae3a8
 
9ae3a8
@@ -115,7 +115,7 @@ INLINE void shift64RightJamming(uint64_t a, int_fast16_t count, uint64_t *zPtr)
9ae3a8
 | described above, and is returned at the location pointed to by `z1Ptr'.)
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  shift64ExtraRightJamming(
9ae3a8
      uint64_t a0, uint64_t a1, int_fast16_t count, uint64_t *z0Ptr, uint64_t *z1Ptr)
9ae3a8
 {
9ae3a8
@@ -152,7 +152,7 @@ INLINE void
9ae3a8
 | which are stored at the locations pointed to by `z0Ptr' and `z1Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  shift128Right(
9ae3a8
      uint64_t a0, uint64_t a1, int_fast16_t count, uint64_t *z0Ptr, uint64_t *z1Ptr)
9ae3a8
 {
9ae3a8
@@ -187,7 +187,7 @@ INLINE void
9ae3a8
 | the locations pointed to by `z0Ptr' and `z1Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  shift128RightJamming(
9ae3a8
      uint64_t a0, uint64_t a1, int_fast16_t count, uint64_t *z0Ptr, uint64_t *z1Ptr)
9ae3a8
 {
9ae3a8
@@ -238,7 +238,7 @@ INLINE void
9ae3a8
 | `z2Ptr'.)
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  shift128ExtraRightJamming(
9ae3a8
      uint64_t a0,
9ae3a8
      uint64_t a1,
9ae3a8
@@ -296,7 +296,7 @@ INLINE void
9ae3a8
 | pieces which are stored at the locations pointed to by `z0Ptr' and `z1Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  shortShift128Left(
9ae3a8
      uint64_t a0, uint64_t a1, int_fast16_t count, uint64_t *z0Ptr, uint64_t *z1Ptr)
9ae3a8
 {
9ae3a8
@@ -315,7 +315,7 @@ INLINE void
9ae3a8
 | `z1Ptr', and `z2Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  shortShift192Left(
9ae3a8
      uint64_t a0,
9ae3a8
      uint64_t a1,
9ae3a8
@@ -350,7 +350,7 @@ INLINE void
9ae3a8
 | are stored at the locations pointed to by `z0Ptr' and `z1Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  add128(
9ae3a8
      uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1, uint64_t *z0Ptr, uint64_t *z1Ptr )
9ae3a8
 {
9ae3a8
@@ -370,7 +370,7 @@ INLINE void
9ae3a8
 | `z1Ptr', and `z2Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  add192(
9ae3a8
      uint64_t a0,
9ae3a8
      uint64_t a1,
9ae3a8
@@ -408,7 +408,7 @@ INLINE void
9ae3a8
 | `z1Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  sub128(
9ae3a8
      uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1, uint64_t *z0Ptr, uint64_t *z1Ptr )
9ae3a8
 {
9ae3a8
@@ -426,7 +426,7 @@ INLINE void
9ae3a8
 | pointed to by `z0Ptr', `z1Ptr', and `z2Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  sub192(
9ae3a8
      uint64_t a0,
9ae3a8
      uint64_t a1,
9ae3a8
@@ -462,7 +462,7 @@ INLINE void
9ae3a8
 | `z0Ptr' and `z1Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void mul64To128( uint64_t a, uint64_t b, uint64_t *z0Ptr, uint64_t *z1Ptr )
9ae3a8
+static inline void mul64To128( uint64_t a, uint64_t b, uint64_t *z0Ptr, uint64_t *z1Ptr )
9ae3a8
 {
9ae3a8
     uint32_t aHigh, aLow, bHigh, bLow;
9ae3a8
     uint64_t z0, zMiddleA, zMiddleB, z1;
9ae3a8
@@ -492,7 +492,7 @@ INLINE void mul64To128( uint64_t a, uint64_t b, uint64_t *z0Ptr, uint64_t *z1Ptr
9ae3a8
 | `z2Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  mul128By64To192(
9ae3a8
      uint64_t a0,
9ae3a8
      uint64_t a1,
9ae3a8
@@ -520,7 +520,7 @@ INLINE void
9ae3a8
 | the locations pointed to by `z0Ptr', `z1Ptr', `z2Ptr', and `z3Ptr'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE void
9ae3a8
+static inline void
9ae3a8
  mul128To256(
9ae3a8
      uint64_t a0,
9ae3a8
      uint64_t a1,
9ae3a8
@@ -702,7 +702,7 @@ static int8 countLeadingZeros64( uint64_t a )
9ae3a8
 | Otherwise, returns 0.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag eq128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
+static inline flag eq128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return ( a0 == b0 ) && ( a1 == b1 );
9ae3a8
@@ -715,7 +715,7 @@ INLINE flag eq128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
 | Otherwise, returns 0.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag le128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
+static inline flag le128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 <= b1 ) );
9ae3a8
@@ -728,7 +728,7 @@ INLINE flag le128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
 | returns 0.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag lt128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
+static inline flag lt128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 < b1 ) );
9ae3a8
@@ -741,7 +741,7 @@ INLINE flag lt128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
 | Otherwise, returns 0.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag ne128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
+static inline flag ne128( uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1 )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return ( a0 != b0 ) || ( a1 != b1 );
9ae3a8
diff --git a/fpu/softfloat.c b/fpu/softfloat.c
9ae3a8
index 7ba51b6..30623cb 100644
9ae3a8
--- a/fpu/softfloat.c
9ae3a8
+++ b/fpu/softfloat.c
9ae3a8
@@ -78,7 +78,7 @@ void set_floatx80_rounding_precision(int val STATUS_PARAM)
9ae3a8
 | Returns the fraction bits of the half-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE uint32_t extractFloat16Frac(float16 a)
9ae3a8
+static inline uint32_t extractFloat16Frac(float16 a)
9ae3a8
 {
9ae3a8
     return float16_val(a) & 0x3ff;
9ae3a8
 }
9ae3a8
@@ -87,7 +87,7 @@ INLINE uint32_t extractFloat16Frac(float16 a)
9ae3a8
 | Returns the exponent bits of the half-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE int_fast16_t extractFloat16Exp(float16 a)
9ae3a8
+static inline int_fast16_t extractFloat16Exp(float16 a)
9ae3a8
 {
9ae3a8
     return (float16_val(a) >> 10) & 0x1f;
9ae3a8
 }
9ae3a8
@@ -96,7 +96,7 @@ INLINE int_fast16_t extractFloat16Exp(float16 a)
9ae3a8
 | Returns the sign bit of the single-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag extractFloat16Sign(float16 a)
9ae3a8
+static inline flag extractFloat16Sign(float16 a)
9ae3a8
 {
9ae3a8
     return float16_val(a)>>15;
9ae3a8
 }
9ae3a8
@@ -207,7 +207,7 @@ static int64 roundAndPackInt64( flag zSign, uint64_t absZ0, uint64_t absZ1 STATU
9ae3a8
 | Returns the fraction bits of the single-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE uint32_t extractFloat32Frac( float32 a )
9ae3a8
+static inline uint32_t extractFloat32Frac( float32 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return float32_val(a) & 0x007FFFFF;
9ae3a8
@@ -218,7 +218,7 @@ INLINE uint32_t extractFloat32Frac( float32 a )
9ae3a8
 | Returns the exponent bits of the single-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE int_fast16_t extractFloat32Exp(float32 a)
9ae3a8
+static inline int_fast16_t extractFloat32Exp(float32 a)
9ae3a8
 {
9ae3a8
 
9ae3a8
     return ( float32_val(a)>>23 ) & 0xFF;
9ae3a8
@@ -229,7 +229,7 @@ INLINE int_fast16_t extractFloat32Exp(float32 a)
9ae3a8
 | Returns the sign bit of the single-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag extractFloat32Sign( float32 a )
9ae3a8
+static inline flag extractFloat32Sign( float32 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return float32_val(a)>>31;
9ae3a8
@@ -280,7 +280,7 @@ static void
9ae3a8
 | significand.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE float32 packFloat32(flag zSign, int_fast16_t zExp, uint32_t zSig)
9ae3a8
+static inline float32 packFloat32(flag zSign, int_fast16_t zExp, uint32_t zSig)
9ae3a8
 {
9ae3a8
 
9ae3a8
     return make_float32(
9ae3a8
@@ -389,7 +389,7 @@ static float32
9ae3a8
 | Returns the fraction bits of the double-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE uint64_t extractFloat64Frac( float64 a )
9ae3a8
+static inline uint64_t extractFloat64Frac( float64 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return float64_val(a) & LIT64( 0x000FFFFFFFFFFFFF );
9ae3a8
@@ -400,7 +400,7 @@ INLINE uint64_t extractFloat64Frac( float64 a )
9ae3a8
 | Returns the exponent bits of the double-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE int_fast16_t extractFloat64Exp(float64 a)
9ae3a8
+static inline int_fast16_t extractFloat64Exp(float64 a)
9ae3a8
 {
9ae3a8
 
9ae3a8
     return ( float64_val(a)>>52 ) & 0x7FF;
9ae3a8
@@ -411,7 +411,7 @@ INLINE int_fast16_t extractFloat64Exp(float64 a)
9ae3a8
 | Returns the sign bit of the double-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag extractFloat64Sign( float64 a )
9ae3a8
+static inline flag extractFloat64Sign( float64 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return float64_val(a)>>63;
9ae3a8
@@ -462,7 +462,7 @@ static void
9ae3a8
 | significand.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE float64 packFloat64(flag zSign, int_fast16_t zExp, uint64_t zSig)
9ae3a8
+static inline float64 packFloat64(flag zSign, int_fast16_t zExp, uint64_t zSig)
9ae3a8
 {
9ae3a8
 
9ae3a8
     return make_float64(
9ae3a8
@@ -572,7 +572,7 @@ static float64
9ae3a8
 | value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE uint64_t extractFloatx80Frac( floatx80 a )
9ae3a8
+static inline uint64_t extractFloatx80Frac( floatx80 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return a.low;
9ae3a8
@@ -584,7 +584,7 @@ INLINE uint64_t extractFloatx80Frac( floatx80 a )
9ae3a8
 | value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE int32 extractFloatx80Exp( floatx80 a )
9ae3a8
+static inline int32 extractFloatx80Exp( floatx80 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return a.high & 0x7FFF;
9ae3a8
@@ -596,7 +596,7 @@ INLINE int32 extractFloatx80Exp( floatx80 a )
9ae3a8
 | `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag extractFloatx80Sign( floatx80 a )
9ae3a8
+static inline flag extractFloatx80Sign( floatx80 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return a.high>>15;
9ae3a8
@@ -626,7 +626,7 @@ static void
9ae3a8
 | extended double-precision floating-point value, returning the result.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE floatx80 packFloatx80( flag zSign, int32 zExp, uint64_t zSig )
9ae3a8
+static inline floatx80 packFloatx80( flag zSign, int32 zExp, uint64_t zSig )
9ae3a8
 {
9ae3a8
     floatx80 z;
9ae3a8
 
9ae3a8
@@ -857,7 +857,7 @@ static floatx80
9ae3a8
 | floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE uint64_t extractFloat128Frac1( float128 a )
9ae3a8
+static inline uint64_t extractFloat128Frac1( float128 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return a.low;
9ae3a8
@@ -869,7 +869,7 @@ INLINE uint64_t extractFloat128Frac1( float128 a )
9ae3a8
 | floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE uint64_t extractFloat128Frac0( float128 a )
9ae3a8
+static inline uint64_t extractFloat128Frac0( float128 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return a.high & LIT64( 0x0000FFFFFFFFFFFF );
9ae3a8
@@ -881,7 +881,7 @@ INLINE uint64_t extractFloat128Frac0( float128 a )
9ae3a8
 | `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE int32 extractFloat128Exp( float128 a )
9ae3a8
+static inline int32 extractFloat128Exp( float128 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return ( a.high>>48 ) & 0x7FFF;
9ae3a8
@@ -892,7 +892,7 @@ INLINE int32 extractFloat128Exp( float128 a )
9ae3a8
 | Returns the sign bit of the quadruple-precision floating-point value `a'.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE flag extractFloat128Sign( float128 a )
9ae3a8
+static inline flag extractFloat128Sign( float128 a )
9ae3a8
 {
9ae3a8
 
9ae3a8
     return a.high>>63;
9ae3a8
@@ -953,7 +953,7 @@ static void
9ae3a8
 | significand.
9ae3a8
 *----------------------------------------------------------------------------*/
9ae3a8
 
9ae3a8
-INLINE float128
9ae3a8
+static inline float128
9ae3a8
  packFloat128( flag zSign, int32 zExp, uint64_t zSig0, uint64_t zSig1 )
9ae3a8
 {
9ae3a8
     float128 z;
9ae3a8
@@ -6560,7 +6560,7 @@ uint64_t float64_to_uint64_round_to_zero (float64 a STATUS_PARAM)
9ae3a8
 }
9ae3a8
 
9ae3a8
 #define COMPARE(s, nan_exp)                                                  \
9ae3a8
-INLINE int float ## s ## _compare_internal( float ## s a, float ## s b,      \
9ae3a8
+static inline int float ## s ## _compare_internal( float ## s a, float ## s b,      \
9ae3a8
                                       int is_quiet STATUS_PARAM )            \
9ae3a8
 {                                                                            \
9ae3a8
     flag aSign, bSign;                                                       \
9ae3a8
@@ -6612,7 +6612,7 @@ int float ## s ## _compare_quiet( float ## s a, float ## s b STATUS_PARAM )  \
9ae3a8
 COMPARE(32, 0xff)
9ae3a8
 COMPARE(64, 0x7ff)
9ae3a8
 
9ae3a8
-INLINE int floatx80_compare_internal( floatx80 a, floatx80 b,
9ae3a8
+static inline int floatx80_compare_internal( floatx80 a, floatx80 b,
9ae3a8
                                       int is_quiet STATUS_PARAM )
9ae3a8
 {
9ae3a8
     flag aSign, bSign;
9ae3a8
@@ -6658,7 +6658,7 @@ int floatx80_compare_quiet( floatx80 a, floatx80 b STATUS_PARAM )
9ae3a8
     return floatx80_compare_internal(a, b, 1 STATUS_VAR);
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float128_compare_internal( float128 a, float128 b,
9ae3a8
+static inline int float128_compare_internal( float128 a, float128 b,
9ae3a8
                                       int is_quiet STATUS_PARAM )
9ae3a8
 {
9ae3a8
     flag aSign, bSign;
9ae3a8
@@ -6707,7 +6707,7 @@ int float128_compare_quiet( float128 a, float128 b STATUS_PARAM )
9ae3a8
  * NaNs and +0 vs -0.
9ae3a8
  */
9ae3a8
 #define MINMAX(s, nan_exp)                                              \
9ae3a8
-INLINE float ## s float ## s ## _minmax(float ## s a, float ## s b,     \
9ae3a8
+static inline  float ## s float ## s ## _minmax(float ## s a, float ## s b,     \
9ae3a8
                                         int ismin STATUS_PARAM )        \
9ae3a8
 {                                                                       \
9ae3a8
     flag aSign, bSign;                                                  \
9ae3a8
diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h
9ae3a8
index f3927e2..de4940c 100644
9ae3a8
--- a/include/fpu/softfloat.h
9ae3a8
+++ b/include/fpu/softfloat.h
9ae3a8
@@ -63,7 +63,6 @@ typedef uint64_t uint64;
9ae3a8
 typedef int64_t int64;
9ae3a8
 
9ae3a8
 #define LIT64( a ) a##LL
9ae3a8
-#define INLINE static inline
9ae3a8
 
9ae3a8
 #define STATUS_PARAM , float_status *status
9ae3a8
 #define STATUS(field) status->field
9ae3a8
@@ -182,23 +181,23 @@ typedef struct float_status {
9ae3a8
 
9ae3a8
 void set_float_rounding_mode(int val STATUS_PARAM);
9ae3a8
 void set_float_exception_flags(int val STATUS_PARAM);
9ae3a8
-INLINE void set_float_detect_tininess(int val STATUS_PARAM)
9ae3a8
+static inline void set_float_detect_tininess(int val STATUS_PARAM)
9ae3a8
 {
9ae3a8
     STATUS(float_detect_tininess) = val;
9ae3a8
 }
9ae3a8
-INLINE void set_flush_to_zero(flag val STATUS_PARAM)
9ae3a8
+static inline void set_flush_to_zero(flag val STATUS_PARAM)
9ae3a8
 {
9ae3a8
     STATUS(flush_to_zero) = val;
9ae3a8
 }
9ae3a8
-INLINE void set_flush_inputs_to_zero(flag val STATUS_PARAM)
9ae3a8
+static inline void set_flush_inputs_to_zero(flag val STATUS_PARAM)
9ae3a8
 {
9ae3a8
     STATUS(flush_inputs_to_zero) = val;
9ae3a8
 }
9ae3a8
-INLINE void set_default_nan_mode(flag val STATUS_PARAM)
9ae3a8
+static inline void set_default_nan_mode(flag val STATUS_PARAM)
9ae3a8
 {
9ae3a8
     STATUS(default_nan_mode) = val;
9ae3a8
 }
9ae3a8
-INLINE int get_float_exception_flags(float_status *status)
9ae3a8
+static inline int get_float_exception_flags(float_status *status)
9ae3a8
 {
9ae3a8
     return STATUS(float_exception_flags);
9ae3a8
 }
9ae3a8
@@ -252,7 +251,7 @@ int float16_is_quiet_nan( float16 );
9ae3a8
 int float16_is_signaling_nan( float16 );
9ae3a8
 float16 float16_maybe_silence_nan( float16 );
9ae3a8
 
9ae3a8
-INLINE int float16_is_any_nan(float16 a)
9ae3a8
+static inline int float16_is_any_nan(float16 a)
9ae3a8
 {
9ae3a8
     return ((float16_val(a) & ~0x8000) > 0x7c00);
9ae3a8
 }
9ae3a8
@@ -307,7 +306,7 @@ int float32_is_signaling_nan( float32 );
9ae3a8
 float32 float32_maybe_silence_nan( float32 );
9ae3a8
 float32 float32_scalbn( float32, int STATUS_PARAM );
9ae3a8
 
9ae3a8
-INLINE float32 float32_abs(float32 a)
9ae3a8
+static inline float32 float32_abs(float32 a)
9ae3a8
 {
9ae3a8
     /* Note that abs does *not* handle NaN specially, nor does
9ae3a8
      * it flush denormal inputs to zero.
9ae3a8
@@ -315,7 +314,7 @@ INLINE float32 float32_abs(float32 a)
9ae3a8
     return make_float32(float32_val(a) & 0x7fffffff);
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE float32 float32_chs(float32 a)
9ae3a8
+static inline float32 float32_chs(float32 a)
9ae3a8
 {
9ae3a8
     /* Note that chs does *not* handle NaN specially, nor does
9ae3a8
      * it flush denormal inputs to zero.
9ae3a8
@@ -323,32 +322,32 @@ INLINE float32 float32_chs(float32 a)
9ae3a8
     return make_float32(float32_val(a) ^ 0x80000000);
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float32_is_infinity(float32 a)
9ae3a8
+static inline int float32_is_infinity(float32 a)
9ae3a8
 {
9ae3a8
     return (float32_val(a) & 0x7fffffff) == 0x7f800000;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float32_is_neg(float32 a)
9ae3a8
+static inline int float32_is_neg(float32 a)
9ae3a8
 {
9ae3a8
     return float32_val(a) >> 31;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float32_is_zero(float32 a)
9ae3a8
+static inline int float32_is_zero(float32 a)
9ae3a8
 {
9ae3a8
     return (float32_val(a) & 0x7fffffff) == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float32_is_any_nan(float32 a)
9ae3a8
+static inline int float32_is_any_nan(float32 a)
9ae3a8
 {
9ae3a8
     return ((float32_val(a) & ~(1 << 31)) > 0x7f800000UL);
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float32_is_zero_or_denormal(float32 a)
9ae3a8
+static inline int float32_is_zero_or_denormal(float32 a)
9ae3a8
 {
9ae3a8
     return (float32_val(a) & 0x7f800000) == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE float32 float32_set_sign(float32 a, int sign)
9ae3a8
+static inline float32 float32_set_sign(float32 a, int sign)
9ae3a8
 {
9ae3a8
     return make_float32((float32_val(a) & 0x7fffffff) | (sign << 31));
9ae3a8
 }
9ae3a8
@@ -413,7 +412,7 @@ int float64_is_signaling_nan( float64 );
9ae3a8
 float64 float64_maybe_silence_nan( float64 );
9ae3a8
 float64 float64_scalbn( float64, int STATUS_PARAM );
9ae3a8
 
9ae3a8
-INLINE float64 float64_abs(float64 a)
9ae3a8
+static inline float64 float64_abs(float64 a)
9ae3a8
 {
9ae3a8
     /* Note that abs does *not* handle NaN specially, nor does
9ae3a8
      * it flush denormal inputs to zero.
9ae3a8
@@ -421,7 +420,7 @@ INLINE float64 float64_abs(float64 a)
9ae3a8
     return make_float64(float64_val(a) & 0x7fffffffffffffffLL);
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE float64 float64_chs(float64 a)
9ae3a8
+static inline float64 float64_chs(float64 a)
9ae3a8
 {
9ae3a8
     /* Note that chs does *not* handle NaN specially, nor does
9ae3a8
      * it flush denormal inputs to zero.
9ae3a8
@@ -429,32 +428,32 @@ INLINE float64 float64_chs(float64 a)
9ae3a8
     return make_float64(float64_val(a) ^ 0x8000000000000000LL);
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float64_is_infinity(float64 a)
9ae3a8
+static inline int float64_is_infinity(float64 a)
9ae3a8
 {
9ae3a8
     return (float64_val(a) & 0x7fffffffffffffffLL ) == 0x7ff0000000000000LL;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float64_is_neg(float64 a)
9ae3a8
+static inline int float64_is_neg(float64 a)
9ae3a8
 {
9ae3a8
     return float64_val(a) >> 63;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float64_is_zero(float64 a)
9ae3a8
+static inline int float64_is_zero(float64 a)
9ae3a8
 {
9ae3a8
     return (float64_val(a) & 0x7fffffffffffffffLL) == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float64_is_any_nan(float64 a)
9ae3a8
+static inline int float64_is_any_nan(float64 a)
9ae3a8
 {
9ae3a8
     return ((float64_val(a) & ~(1ULL << 63)) > 0x7ff0000000000000ULL);
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float64_is_zero_or_denormal(float64 a)
9ae3a8
+static inline int float64_is_zero_or_denormal(float64 a)
9ae3a8
 {
9ae3a8
     return (float64_val(a) & 0x7ff0000000000000LL) == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE float64 float64_set_sign(float64 a, int sign)
9ae3a8
+static inline float64 float64_set_sign(float64 a, int sign)
9ae3a8
 {
9ae3a8
     return make_float64((float64_val(a) & 0x7fffffffffffffffULL)
9ae3a8
                         | ((int64_t)sign << 63));
9ae3a8
@@ -508,39 +507,39 @@ int floatx80_is_signaling_nan( floatx80 );
9ae3a8
 floatx80 floatx80_maybe_silence_nan( floatx80 );
9ae3a8
 floatx80 floatx80_scalbn( floatx80, int STATUS_PARAM );
9ae3a8
 
9ae3a8
-INLINE floatx80 floatx80_abs(floatx80 a)
9ae3a8
+static inline floatx80 floatx80_abs(floatx80 a)
9ae3a8
 {
9ae3a8
     a.high &= 0x7fff;
9ae3a8
     return a;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE floatx80 floatx80_chs(floatx80 a)
9ae3a8
+static inline floatx80 floatx80_chs(floatx80 a)
9ae3a8
 {
9ae3a8
     a.high ^= 0x8000;
9ae3a8
     return a;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int floatx80_is_infinity(floatx80 a)
9ae3a8
+static inline int floatx80_is_infinity(floatx80 a)
9ae3a8
 {
9ae3a8
     return (a.high & 0x7fff) == 0x7fff && a.low == 0x8000000000000000LL;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int floatx80_is_neg(floatx80 a)
9ae3a8
+static inline int floatx80_is_neg(floatx80 a)
9ae3a8
 {
9ae3a8
     return a.high >> 15;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int floatx80_is_zero(floatx80 a)
9ae3a8
+static inline int floatx80_is_zero(floatx80 a)
9ae3a8
 {
9ae3a8
     return (a.high & 0x7fff) == 0 && a.low == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int floatx80_is_zero_or_denormal(floatx80 a)
9ae3a8
+static inline int floatx80_is_zero_or_denormal(floatx80 a)
9ae3a8
 {
9ae3a8
     return (a.high & 0x7fff) == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int floatx80_is_any_nan(floatx80 a)
9ae3a8
+static inline int floatx80_is_any_nan(floatx80 a)
9ae3a8
 {
9ae3a8
     return ((a.high & 0x7fff) == 0x7fff) && (a.low<<1);
9ae3a8
 }
9ae3a8
@@ -593,39 +592,39 @@ int float128_is_signaling_nan( float128 );
9ae3a8
 float128 float128_maybe_silence_nan( float128 );
9ae3a8
 float128 float128_scalbn( float128, int STATUS_PARAM );
9ae3a8
 
9ae3a8
-INLINE float128 float128_abs(float128 a)
9ae3a8
+static inline float128 float128_abs(float128 a)
9ae3a8
 {
9ae3a8
     a.high &= 0x7fffffffffffffffLL;
9ae3a8
     return a;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE float128 float128_chs(float128 a)
9ae3a8
+static inline float128 float128_chs(float128 a)
9ae3a8
 {
9ae3a8
     a.high ^= 0x8000000000000000LL;
9ae3a8
     return a;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float128_is_infinity(float128 a)
9ae3a8
+static inline int float128_is_infinity(float128 a)
9ae3a8
 {
9ae3a8
     return (a.high & 0x7fffffffffffffffLL) == 0x7fff000000000000LL && a.low == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float128_is_neg(float128 a)
9ae3a8
+static inline int float128_is_neg(float128 a)
9ae3a8
 {
9ae3a8
     return a.high >> 63;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float128_is_zero(float128 a)
9ae3a8
+static inline int float128_is_zero(float128 a)
9ae3a8
 {
9ae3a8
     return (a.high & 0x7fffffffffffffffLL) == 0 && a.low == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float128_is_zero_or_denormal(float128 a)
9ae3a8
+static inline int float128_is_zero_or_denormal(float128 a)
9ae3a8
 {
9ae3a8
     return (a.high & 0x7fff000000000000LL) == 0;
9ae3a8
 }
9ae3a8
 
9ae3a8
-INLINE int float128_is_any_nan(float128 a)
9ae3a8
+static inline int float128_is_any_nan(float128 a)
9ae3a8
 {
9ae3a8
     return ((a.high >> 48) & 0x7fff) == 0x7fff &&
9ae3a8
         ((a.low != 0) || ((a.high & 0xffffffffffffLL) != 0));
9ae3a8
-- 
9ae3a8
2.1.0
9ae3a8