From: Andreas Schwab Date: Tue, 18 Oct 2011 08:37:56 +0000 (+0200) Subject: Fix linkage conflict with feraiseexcept X-Git-Tag: glibc-2.15~212 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=caa6c9d8454e81d365f039c835abd3cb54c06a05;p=thirdparty%2Fglibc.git Fix linkage conflict with feraiseexcept --- diff --git a/ChangeLog b/ChangeLog index ad7db01db65..cd6264b7f06 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 be2518dac3d..b344d0a82c9 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