From caa6c9d8454e81d365f039c835abd3cb54c06a05 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 18 Oct 2011 10:37:56 +0200 Subject: Fix linkage conflict with feraiseexcept --- ChangeLog | 7 +++++++ sysdeps/x86_64/fpu/bits/fenv.h | 16 ++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index ad7db01db6..cd6264b7f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-10-18 Andreas Schwab + + * sysdeps/x86_64/fpu/bits/fenv.h: Add C linkage markers. + (__feraiseexcept_renamed): Add __THROW. + (feraiseexcept): Add __THROW. Rename local variables to fix + namespace violations. + 2011-10-17 Ulrich Drepper * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Small optimization. diff --git a/sysdeps/x86_64/fpu/bits/fenv.h b/sysdeps/x86_64/fpu/bits/fenv.h index be2518dac3..b344d0a82c 100644 --- a/sysdeps/x86_64/fpu/bits/fenv.h +++ b/sysdeps/x86_64/fpu/bits/fenv.h @@ -98,9 +98,11 @@ fenv_t; #ifdef __OPTIMIZE__ +__BEGIN_DECLS + /* Optimized versions. */ -extern int __feraiseexcept_renamed (int) __asm__ ("feraiseexcept"); -__extern_inline int feraiseexcept (int __excepts) +extern int __feraiseexcept_renamed (int) __THROW __asm__ ("feraiseexcept"); +__extern_inline int feraiseexcept (int __excepts) __THROW { if (__builtin_constant_p (__excepts) && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0) @@ -115,11 +117,11 @@ __extern_inline int feraiseexcept (int __excepts) } if ((FE_DIVBYZERO & __excepts) != 0) { - float f = 1.0; - float g = 0.0; + float __f = 1.0; + float __g = 0.0; - __asm__ __volatile__ ("divss %1, %0" : : "x" (f), "x" (g)); - (void) &f; + __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g)); + (void) &__f; } return 0; @@ -127,4 +129,6 @@ __extern_inline int feraiseexcept (int __excepts) return __feraiseexcept_renamed (__excepts); } + +__END_DECLS #endif -- cgit 1.4.1