From b2d36dda9b8ca4d850f3b8e3e437a38368a51519 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 30 Aug 2012 12:02:50 -0700 Subject: alpha: Work around gcc 4.8 aliasing difference/bug --- ports/sysdeps/alpha/fpu/s_isnan.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'ports/sysdeps') diff --git a/ports/sysdeps/alpha/fpu/s_isnan.c b/ports/sysdeps/alpha/fpu/s_isnan.c index b18c7bb5f1..1f239ac249 100644 --- a/ports/sysdeps/alpha/fpu/s_isnan.c +++ b/ports/sysdeps/alpha/fpu/s_isnan.c @@ -28,11 +28,6 @@ #undef isnanf #undef __GI___isnanf -/* The hidden_proto in include/math.h was obscured by the macro hackery. */ -__typeof (__isnan) __isnanf; -hidden_proto (__isnanf) - - int __isnan (double x) { @@ -45,8 +40,11 @@ weak_alias (__isnan, isnan) /* It turns out that the 'double' version will also always work for single-precision. */ strong_alias (__isnan, __isnanf) -hidden_def (__isnanf) -weak_alias (__isnanf, isnanf) +weak_alias (__isnan, isnanf) + +/* ??? GCC 4.8 fails to look through chains of aliases with asm names + attached. Work around this for now. */ +hidden_ver (__isnan, __isnanf) #ifdef NO_LONG_DOUBLE strong_alias (__isnan, __isnanl) -- cgit 1.4.1