diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-10-18 10:37:56 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2011-10-18 11:46:51 +0200 |
commit | caa6c9d8454e81d365f039c835abd3cb54c06a05 (patch) | |
tree | a10ddea30a305d86262fff03a67c47ded647f9b1 | |
parent | 99ce7b04edf17821a6abd19844f10e8c1cd3c724 (diff) | |
download | glibc-caa6c9d8454e81d365f039c835abd3cb54c06a05.tar glibc-caa6c9d8454e81d365f039c835abd3cb54c06a05.tar.gz glibc-caa6c9d8454e81d365f039c835abd3cb54c06a05.tar.bz2 glibc-caa6c9d8454e81d365f039c835abd3cb54c06a05.zip |
Fix linkage conflict with feraiseexcept
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/x86_64/fpu/bits/fenv.h | 16 |
2 files changed, 17 insertions, 6 deletions
@@ -1,3 +1,10 @@ +2011-10-18 Andreas Schwab <schwab@redhat.com> + + * 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 <drepper@gmail.com> * 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 |