Print this page
6648 illumos build should be explicit about C standards

*** 40,68 **** #ifdef __cplusplus extern "C" { #endif ! extern __inline__ double __inline_sqrt(double d) { double ret; __asm__ __volatile__("fsqrtd %1,%0\n\t" : "=e" (ret) : "e" (d)); return (ret); } ! extern __inline__ float __inline_sqrtf(float f) { float ret; __asm__ __volatile__("fsqrts %1,%0\n\t" : "=f" (ret) : "f" (f)); return (ret); } ! extern __inline__ enum fp_class_type fp_classf(float f) { enum fp_class_type ret; uint32_t tmp; --- 40,68 ---- #ifdef __cplusplus extern "C" { #endif ! extern __GNU_INLINE double __inline_sqrt(double d) { double ret; __asm__ __volatile__("fsqrtd %1,%0\n\t" : "=e" (ret) : "e" (d)); return (ret); } ! extern __GNU_INLINE float __inline_sqrtf(float f) { float ret; __asm__ __volatile__("fsqrts %1,%0\n\t" : "=f" (ret) : "f" (f)); return (ret); } ! extern __GNU_INLINE enum fp_class_type fp_classf(float f) { enum fp_class_type ret; uint32_t tmp;
*** 111,121 **** } #define _HI_WORD(x) ((uint32_t *)&x)[0] #define _LO_WORD(x) ((uint32_t *)&x)[1] ! extern __inline__ enum fp_class_type fp_class(double d) { enum fp_class_type ret; uint32_t tmp; --- 111,121 ---- } #define _HI_WORD(x) ((uint32_t *)&x)[0] #define _LO_WORD(x) ((uint32_t *)&x)[1] ! extern __GNU_INLINE enum fp_class_type fp_class(double d) { enum fp_class_type ret; uint32_t tmp;
*** 167,177 **** : "cc"); return (ret); } ! extern __inline__ int __swapEX(int i) { int ret; uint32_t fsr; uint32_t tmp1, tmp2; --- 167,177 ---- : "cc"); return (ret); } ! extern __GNU_INLINE int __swapEX(int i) { int ret; uint32_t fsr; uint32_t tmp1, tmp2;
*** 199,215 **** /* * On the SPARC, __swapRP is a no-op; always return 0 for backward * compatibility */ /* ARGSUSED */ ! extern __inline__ enum fp_precision_type __swapRP(enum fp_precision_type i) { return (0); } ! extern __inline__ enum fp_direction_type __swapRD(enum fp_direction_type d) { enum fp_direction_type ret; uint32_t fsr; uint32_t tmp1, tmp2, tmp3; --- 199,215 ---- /* * On the SPARC, __swapRP is a no-op; always return 0 for backward * compatibility */ /* ARGSUSED */ ! extern __GNU_INLINE enum fp_precision_type __swapRP(enum fp_precision_type i) { return (0); } ! extern __GNU_INLINE enum fp_direction_type __swapRD(enum fp_direction_type d) { enum fp_direction_type ret; uint32_t fsr; uint32_t tmp1, tmp2, tmp3;
*** 233,243 **** : "cc"); return (ret); } ! extern __inline__ int __swapTE(int i) { int ret; uint32_t fsr, tmp1, tmp2; --- 233,243 ---- : "cc"); return (ret); } ! extern __GNU_INLINE int __swapTE(int i) { int ret; uint32_t fsr, tmp1, tmp2;
*** 260,291 **** : "cc"); return (ret); } ! extern __inline__ double sqrt(double d) { return (__inline_sqrt(d)); } ! extern __inline__ float sqrtf(float f) { return (__inline_sqrtf(f)); } ! extern __inline__ double fabs(double d) { double ret; __asm__ __volatile__("fabsd %1,%0\n\t" : "=e" (ret) : "e" (d)); return (ret); } ! extern __inline__ float fabsf(float f) { float ret; __asm__ __volatile__("fabss %1,%0\n\t" : "=f" (ret) : "f" (f)); --- 260,291 ---- : "cc"); return (ret); } ! extern __GNU_INLINE double sqrt(double d) { return (__inline_sqrt(d)); } ! extern __GNU_INLINE float sqrtf(float f) { return (__inline_sqrtf(f)); } ! extern __GNU_INLINE double fabs(double d) { double ret; __asm__ __volatile__("fabsd %1,%0\n\t" : "=e" (ret) : "e" (d)); return (ret); } ! extern __GNU_INLINE float fabsf(float f) { float ret; __asm__ __volatile__("fabss %1,%0\n\t" : "=f" (ret) : "f" (f));