This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: alpha vs complex functions


On Mon, Jan 12, 2004 at 05:47:55PM -0800, Roland McGrath wrote:
> It seems to me we should invert the sense of hackery.

The following implements this.

In addition to moving the files as with the last patch, I also need
to prevent most of the existing complex float files from doing the
weak_alias thing.

One question: why in the world is __clog10{,f,l} exported from libm?
This is the only complex function that has its double-underscore
symbol exported, rather than merely used internally.  While I 
preserve __clog10f@GLIBC_2.1, I do not provide a 2.3.3 version of
this symbol.

Ok?


r~



	* Versions.def (libm): Add GLIBC_2.3.3.
	* sysdeps/alpha/fpu/Versions: Add __c1_c*f and c*f to GLIBC_2.3.3.
	* sysdeps/alpha/fpu/cabsf.c, sysdeps/alpha/fpu/cargf.c,
	sysdeps/alpha/fpu/cfloat-compat.h, sysdeps/alpha/fpu/cimagf.c,
	sysdeps/alpha/fpu/conjf.c, sysdeps/alpha/fpu/crealf.c,
	sysdeps/alpha/fpu/s_cacosf.c, sysdeps/alpha/fpu/s_cacoshf.c,
	sysdeps/alpha/fpu/s_casinf.c, sysdeps/alpha/fpu/s_casinhf.c,
	sysdeps/alpha/fpu/s_catanf.c, sysdeps/alpha/fpu/s_catanhf.c,
	sysdeps/alpha/fpu/s_ccosf.c, sysdeps/alpha/fpu/s_ccoshf.c,
	sysdeps/alpha/fpu/s_cexpf.c, sysdeps/alpha/fpu/s_clog10f.c,
	sysdeps/alpha/fpu/s_clogf.c, sysdeps/alpha/fpu/s_cpowf.c,
	sysdeps/alpha/fpu/s_cprojf.c, sysdeps/alpha/fpu/s_csinf.c,
	sysdeps/alpha/fpu/s_csinhf.c, sysdeps/alpha/fpu/s_csqrtf.c,
	sysdeps/alpha/fpu/s_ctanf.c, sysdeps/alpha/fpu/s_ctanhf.c: New files.
	* sysdeps/alpha/fpu/bits/mathdef.h: Rename complex float
	functions for gcc 3.3.

	* sysdeps/generic/s_cacosf.c, sysdeps/generic/s_cacoshf.c,
	sysdeps/generic/s_casinf.c, sysdeps/generic/s_casinhf.c,
	sysdeps/generic/s_catanf.c, sysdeps/generic/s_catanhf.c,
	sysdeps/generic/s_ccosf.c, sysdeps/generic/s_ccoshf.c,
	sysdeps/generic/s_cexpf.c, sysdeps/generic/s_clog10f.c,
	sysdeps/generic/s_clogf.c, sysdeps/generic/s_cpowf.c,
	sysdeps/generic/s_cprojf.c, sysdeps/generic/s_csinf.c,
	sysdeps/generic/s_csinhf.c, sysdeps/generic/s_csqrtf.c,
	sysdeps/generic/s_ctanf.c, sysdeps/generic/s_ctanhf.c: Don't
	weak_alias if the function name has been #defined.

	* math/cabsf.c: Move ...
	* sysdeps/generic/cabsf.c: ... here.
	* math/cargf.c: Move ...
	* sysdeps/generic/cargf.c: ... here.
	* math/cimagf.c: Move ...
	* sysdeps/generic/cimagf.c: ... here.
	* math/conjf.c: Move ...
	* sysdeps/generic/conjf.c: ... here.
	* math/crealf.c: Move ...
	* sysdeps/generic/crealf.c: ... here.

Index: Versions.def
===================================================================
RCS file: /cvs/glibc/libc/Versions.def,v
retrieving revision 1.52
diff -c -p -d -r1.52 Versions.def
*** Versions.def	25 Mar 2003 20:28:24 -0000	1.52
--- Versions.def	13 Jan 2004 08:24:18 -0000
*************** libm {
*** 40,45 ****
--- 40,46 ----
    GLIBC_2.1
    GLIBC_2.2
    GLIBC_2.2.3
+   GLIBC_2.3.3
  }
  libnsl {
    GLIBC_2.0
Index: sysdeps/alpha/fpu/Versions
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/alpha/fpu/Versions,v
retrieving revision 1.1
diff -c -p -d -r1.1 Versions
*** sysdeps/alpha/fpu/Versions	2 Jul 1998 22:33:14 -0000	1.1
--- sysdeps/alpha/fpu/Versions	13 Jan 2004 08:24:25 -0000
*************** libc {
*** 4,6 ****
--- 4,23 ----
      __ieee_get_fp_control; __ieee_set_fp_control;
    }
  }
+ libm {
+   GLIBC_2.3.3 {
+     # functions implementing old complex float abi
+     __c1_cabsf; __c1_cacosf; __c1_cacoshf; __c1_cargf; __c1_casinf;
+     __c1_casinhf; __c1_catanf; __c1_catanhf; __c1_ccosf; __c1_ccoshf;
+     __c1_cexpf; __c1_cimagf; __c1_clog10f; __c1_clogf; __c1_conjf;
+     __c1_cpowf; __c1_cprojf; __c1_crealf; __c1_csinf; __c1_csinhf;
+     __c1_csqrtf; __c1_ctanf; __c1_ctanhf;
+ 
+     # functions implementing new complex float abi
+     cabsf; cacosf; cacoshf; cargf; casinf;
+     casinhf; catanf; catanhf; ccosf; ccoshf;
+     cexpf; cimagf; clog10f; clogf; conjf;
+     cpowf; cprojf; crealf; csinf; csinhf;
+     csqrtf; ctanf; ctanhf;
+   }
+ }
Index: sysdeps/alpha/fpu/cabsf.c
===================================================================
RCS file: sysdeps/alpha/fpu/cabsf.c
diff -N sysdeps/alpha/fpu/cabsf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/cabsf.c	13 Jan 2004 08:24:25 -0000
***************
*** 0 ****
--- 1,42 ----
+ /* Return the complex absolute value of float complex value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __cabsf __cabsf_not_defined
+ #define cabsf cabsf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ #include "cfloat-compat.h"
+ 
+ #undef __cabsf
+ #undef cabsf
+ 
+ float
+ __c1_cabsf (c1_cfloat_decl (z))
+ {
+   return __hypotf (c1_cfloat_real (z), c1_cfloat_imag (z));
+ }
+ 
+ float
+ __c2_cabsf (c2_cfloat_decl (z))
+ {
+   return __hypotf (c2_cfloat_real (z), c2_cfloat_imag (z));
+ }
+ 
+ cfloat_versions (cabsf);
Index: sysdeps/alpha/fpu/cargf.c
===================================================================
RCS file: sysdeps/alpha/fpu/cargf.c
diff -N sysdeps/alpha/fpu/cargf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/cargf.c	13 Jan 2004 08:24:25 -0000
***************
*** 0 ****
--- 1,42 ----
+ /* Compute argument of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __cargf __cargf_not_defined
+ #define cargf cargf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ #include "cfloat-compat.h"
+ 
+ #undef __cargf
+ #undef cargf
+ 
+ float
+ __c1_cargf (c1_cfloat_decl (x))
+ {
+   return __atan2f (c1_cfloat_imag (x), c1_cfloat_real (x));
+ }
+ 
+ float
+ __c2_cargf (c2_cfloat_decl (x))
+ {
+   return __atan2f (c2_cfloat_imag (x), c2_cfloat_real (x));
+ }
+ 
+ cfloat_versions (cargf);
Index: sysdeps/alpha/fpu/cfloat-compat.h
===================================================================
RCS file: sysdeps/alpha/fpu/cfloat-compat.h
diff -N sysdeps/alpha/fpu/cfloat-compat.h
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/cfloat-compat.h	13 Jan 2004 08:24:25 -0000
***************
*** 0 ****
--- 1,74 ----
+ /* Compatibility macros for old and new Alpha complex float ABI.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ /* The behaviour of complex float changed between GCC 3.3 and 3.4.  
+ 
+    In 3.3 and before (below, complex version 1, or "c1"), complex float
+    values were packed into one floating point register.
+ 
+    In 3.4 and later (below, complex version 2, or "c2"), GCC changed to
+    follow the official Tru64 ABI, which passes the components of a complex
+    as separate parameters.  */
+ 
+ #if __GNUC_PREREQ(3,4)
+   typedef union { double d; _Complex float cf; } c1_compat;
+ # define c1_cfloat_decl(x)	double x
+ # define c1_cfloat_real(x)	__real__ c1_cfloat_value (x)
+ # define c1_cfloat_imag(x)	__imag__ c1_cfloat_value (x)
+ # define c1_cfloat_value(x)	(((c1_compat *)(void *)&x)->cf)
+ # define c1_cfloat_rettype	double
+ # define c1_cfloat_return(x)	({ c1_compat _; _.cf = (x); _.d; })
+ # define c2_cfloat_decl(x)	_Complex float x
+ # define c2_cfloat_real(x)	__real__ x
+ # define c2_cfloat_imag(x)	__imag__ x
+ # define c2_cfloat_value(x)	x
+ # define c2_cfloat_rettype	_Complex float
+ # define c2_cfloat_return(x)	x
+ #else
+ # define c1_cfloat_decl(x)	_Complex float x
+ # define c1_cfloat_real(x)	__real__ x
+ # define c1_cfloat_imag(x)	__imag__ x
+ # define c1_cfloat_value(x)	x
+ # define c1_cfloat_rettype	_Complex float
+ # define c1_cfloat_return(x)	x
+ # define c2_cfloat_decl(x)	float x ## r, float x ## i
+ # define c2_cfloat_real(x)	x ## r
+ # define c2_cfloat_imag(x)	x ## i
+ # define c2_cfloat_value(x) \
+     ({ _Complex float _; __real__ _ = x##r; __imag__ _ = x##i; _; })
+ # define c2_cfloat_rettype	double _Complex
+ # define c2_cfloat_return(x)	x
+ #endif
+ 
+ /* Get the proper symbol versions defined for each function.  */
+ 
+ #include <shlib-compat.h>
+ 
+ #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_3_3)
+ #define cfloat_versions_compat(func) \
+   compat_symbol (libm, __c1_##func, func, GLIBC_2_1)
+ #else
+ #define cfloat_versions_compat(func)
+ #endif
+ 
+ #define cfloat_versions(func) \
+   cfloat_versions_compat(func); \
+   versioned_symbol (libm, __c2_##func, func, GLIBC_2_3_3); \
+   extern typeof(__c2_##func) __##func attribute_hidden; \
+   strong_alias (__c2_##func, __##func)
Index: sysdeps/alpha/fpu/cimagf.c
===================================================================
RCS file: sysdeps/alpha/fpu/cimagf.c
diff -N sysdeps/alpha/fpu/cimagf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/cimagf.c	13 Jan 2004 08:24:25 -0000
***************
*** 0 ****
--- 1,41 ----
+ /* Return imaginary part of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __cimagf __cimagf_not_defined
+ #define cimagf cimagf_not_defined
+ 
+ #include <complex.h>
+ #include "cfloat-compat.h"
+ 
+ #undef __cimagf
+ #undef cimagf
+ 
+ float
+ __c1_cimagf (c1_cfloat_decl (z))
+ {
+   return c1_cfloat_imag (z);
+ }
+ 
+ float
+ __c2_cimagf (c2_cfloat_decl (z))
+ {
+   return c2_cfloat_imag (z);
+ }
+ 
+ cfloat_versions (cimagf);
Index: sysdeps/alpha/fpu/conjf.c
===================================================================
RCS file: sysdeps/alpha/fpu/conjf.c
diff -N sysdeps/alpha/fpu/conjf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/conjf.c	13 Jan 2004 08:24:25 -0000
***************
*** 0 ****
--- 1,43 ----
+ /* Return complex conjugate of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __conjf __conjf_not_defined
+ #define conjf conjf_not_defined
+ 
+ #include <complex.h>
+ #include "cfloat-compat.h"
+ 
+ #undef __conjf
+ #undef conjf
+ 
+ c1_cfloat_rettype
+ __c1_conjf (c1_cfloat_decl (z))
+ {
+   _Complex float r = ~ c1_cfloat_value (z);
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_conjf (c2_cfloat_decl (z))
+ {
+   _Complex float r = ~ c2_cfloat_value (z);
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (conjf);
Index: sysdeps/alpha/fpu/crealf.c
===================================================================
RCS file: sysdeps/alpha/fpu/crealf.c
diff -N sysdeps/alpha/fpu/crealf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/crealf.c	13 Jan 2004 08:24:25 -0000
***************
*** 0 ****
--- 1,41 ----
+ /* Return real part of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __crealf __crealf_not_defined
+ #define crealf crealf_not_defined
+ 
+ #include <complex.h>
+ #include "cfloat-compat.h"
+ 
+ #undef __crealf
+ #undef crealf
+ 
+ float
+ __c1_crealf (c1_cfloat_decl (z))
+ {
+   return c1_cfloat_real (z);
+ }
+ 
+ float
+ __c2_crealf (c2_cfloat_decl (z))
+ {
+   return c2_cfloat_real (z);
+ }
+ 
+ cfloat_versions (crealf);
Index: sysdeps/alpha/fpu/s_cacosf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_cacosf.c
diff -N sysdeps/alpha/fpu/s_cacosf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_cacosf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return arc cosine of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __cacosf __cacosf_not_defined
+ #define cacosf cacosf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __cacosf
+ #undef cacosf
+ #define __cacosf internal_cacosf
+ 
+ static _Complex float internal_cacosf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_cacosf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __cacosf
+ 
+ c1_cfloat_rettype
+ __c1_cacosf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_cacosf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_cacosf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_cacosf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (cacosf);
Index: sysdeps/alpha/fpu/s_cacoshf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_cacoshf.c
diff -N sysdeps/alpha/fpu/s_cacoshf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_cacoshf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return arc hyperbole cosine of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __cacoshf __cacoshf_not_defined
+ #define cacoshf cacoshf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __cacoshf
+ #undef cacoshf
+ #define __cacoshf internal_cacoshf
+ 
+ static _Complex float internal_cacoshf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_cacoshf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __cacoshf
+ 
+ c1_cfloat_rettype
+ __c1_cacoshf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_cacoshf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_cacoshf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_cacoshf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (cacoshf);
Index: sysdeps/alpha/fpu/s_casinf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_casinf.c
diff -N sysdeps/alpha/fpu/s_casinf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_casinf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return arc sine of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __casinf __casinf_not_defined
+ #define casinf casinf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __casinf
+ #undef casinf
+ #define __casinf internal_casinf
+ 
+ static _Complex float internal_casinf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_casinf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __casinf
+ 
+ c1_cfloat_rettype
+ __c1_casinf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_casinf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_casinf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_casinf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (casinf);
Index: sysdeps/alpha/fpu/s_casinhf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_casinhf.c
diff -N sysdeps/alpha/fpu/s_casinhf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_casinhf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return arc hyperbole sine of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __casinhf __casinhf_not_defined
+ #define casinhf casinhf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __casinhf
+ #undef casinhf
+ #define __casinhf internal_casinhf
+ 
+ static _Complex float internal_casinhf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_casinhf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __casinhf
+ 
+ c1_cfloat_rettype
+ __c1_casinhf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_casinhf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_casinhf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_casinhf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (casinhf);
Index: sysdeps/alpha/fpu/s_catanf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_catanf.c
diff -N sysdeps/alpha/fpu/s_catanf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_catanf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return arc tangent of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __catanf __catanf_not_defined
+ #define catanf catanf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __catanf
+ #undef catanf
+ #define __catanf internal_catanf
+ 
+ static _Complex float internal_catanf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_catanf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __catanf
+ 
+ c1_cfloat_rettype
+ __c1_catanf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_catanf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_catanf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_catanf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (catanf);
Index: sysdeps/alpha/fpu/s_catanhf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_catanhf.c
diff -N sysdeps/alpha/fpu/s_catanhf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_catanhf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return arc hyperbole tangent of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __catanhf __catanhf_not_defined
+ #define catanhf catanhf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __catanhf
+ #undef catanhf
+ #define __catanhf internal_catanhf
+ 
+ static _Complex float internal_catanhf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_catanhf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __catanhf
+ 
+ c1_cfloat_rettype
+ __c1_catanhf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_catanhf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_catanhf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_catanhf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (catanhf);
Index: sysdeps/alpha/fpu/s_ccosf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_ccosf.c
diff -N sysdeps/alpha/fpu/s_ccosf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_ccosf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return cosine of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __ccosf __ccosf_not_defined
+ #define ccosf ccosf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __ccosf
+ #undef ccosf
+ #define __ccosf internal_ccosf
+ 
+ static _Complex float internal_ccosf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_ccosf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __ccosf
+ 
+ c1_cfloat_rettype
+ __c1_ccosf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_ccosf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_ccosf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_ccosf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (ccosf);
Index: sysdeps/alpha/fpu/s_ccoshf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_ccoshf.c
diff -N sysdeps/alpha/fpu/s_ccoshf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_ccoshf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return hyperbole cosine of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __ccoshf __ccoshf_not_defined
+ #define ccoshf ccoshf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __ccoshf
+ #undef ccoshf
+ #define __ccoshf internal_ccoshf
+ 
+ static _Complex float internal_ccoshf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_ccoshf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __ccoshf
+ 
+ c1_cfloat_rettype
+ __c1_ccoshf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_ccoshf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_ccoshf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_ccoshf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (ccoshf);
Index: sysdeps/alpha/fpu/s_cexpf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_cexpf.c
diff -N sysdeps/alpha/fpu/s_cexpf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_cexpf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return exponent of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __cexpf __cexpf_not_defined
+ #define cexpf cexpf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __cexpf
+ #undef cexpf
+ #define __cexpf internal_cexpf
+ 
+ static _Complex float internal_cexpf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_cexpf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __cexpf
+ 
+ c1_cfloat_rettype
+ __c1_cexpf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_cexpf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_cexpf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_cexpf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (cexpf);
Index: sysdeps/alpha/fpu/s_clog10f.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_clog10f.c
diff -N sysdeps/alpha/fpu/s_clog10f.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_clog10f.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,61 ----
+ /* Return base 10 logarithm of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __clog10f __clog10f_not_defined
+ #define clog10f clog10f_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __clog10f
+ #undef clog10f
+ #define __clog10f internal_clog10f
+ 
+ static _Complex float internal_clog10f (_Complex float x);
+ 
+ #include <sysdeps/generic/s_clog10f.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __clog10f
+ 
+ c1_cfloat_rettype
+ __c1_clog10f (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_clog10f (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_clog10f (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_clog10f (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ /* Ug.  __clog10f was exported from GLIBC_2.1.  This is the only
+    complex function whose double-underscore symbol was exported,
+    so we get to handle that specially.  */
+ #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_3_3)
+ strong_alias (__c1_clog10f, __c1_clog10f_2);
+ compat_symbol (libm, __c1_clog10f, clog10f, GLIBC_2_1);
+ compat_symbol (libm, __c1_clog10f_2, __clog10f, GLIBC_2_1);
+ #endif
+ versioned_symbol (libm, __c2_clog10f, clog10f, GLIBC_2_3_3);
+ extern typeof(__c2_clog10f) __clog10f attribute_hidden;
+ strong_alias (__c2_clog10f, __clog10f)
Index: sysdeps/alpha/fpu/s_clogf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_clogf.c
diff -N sysdeps/alpha/fpu/s_clogf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_clogf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return natural logarithm of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __clogf __clogf_not_defined
+ #define clogf clogf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __clogf
+ #undef clogf
+ #define __clogf internal_clogf
+ 
+ static _Complex float internal_clogf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_clogf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __clogf
+ 
+ c1_cfloat_rettype
+ __c1_clogf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_clogf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_clogf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_clogf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (clogf);
Index: sysdeps/alpha/fpu/s_cpowf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_cpowf.c
diff -N sysdeps/alpha/fpu/s_cpowf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_cpowf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return power of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __cpowf __cpowf_not_defined
+ #define cpowf cpowf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __cpowf
+ #undef cpowf
+ #define __cpowf internal_cpowf
+ 
+ static _Complex float internal_cpowf (_Complex float x, _Complex float c);
+ 
+ #include <sysdeps/generic/s_cpowf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __cpowf
+ 
+ c1_cfloat_rettype
+ __c1_cpowf (c1_cfloat_decl (x), c1_cfloat_decl (c))
+ {
+   _Complex float r = internal_cpowf (c1_cfloat_value (x), c1_cfloat_value (c));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_cpowf (c2_cfloat_decl (x), c2_cfloat_decl (c))
+ {
+   _Complex float r = internal_cpowf (c2_cfloat_value (x), c2_cfloat_value (c));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (cpowf);
Index: sysdeps/alpha/fpu/s_cprojf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_cprojf.c
diff -N sysdeps/alpha/fpu/s_cprojf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_cprojf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return projection of complex float value to Riemann sphere.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __cprojf __cprojf_not_defined
+ #define cprojf cprojf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __cprojf
+ #undef cprojf
+ #define __cprojf internal_cprojf
+ 
+ static _Complex float internal_cprojf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_cprojf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __cprojf
+ 
+ c1_cfloat_rettype
+ __c1_cprojf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_cprojf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_cprojf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_cprojf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (cprojf);
Index: sysdeps/alpha/fpu/s_csinf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_csinf.c
diff -N sysdeps/alpha/fpu/s_csinf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_csinf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return sine of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __csinf __csinf_not_defined
+ #define csinf csinf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __csinf
+ #undef csinf
+ #define __csinf internal_csinf
+ 
+ static _Complex float internal_csinf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_csinf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __csinf
+ 
+ c1_cfloat_rettype
+ __c1_csinf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_csinf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_csinf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_csinf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (csinf);
Index: sysdeps/alpha/fpu/s_csinhf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_csinhf.c
diff -N sysdeps/alpha/fpu/s_csinhf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_csinhf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return hyperbole sine of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __csinhf __csinhf_not_defined
+ #define csinhf csinhf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __csinhf
+ #undef csinhf
+ #define __csinhf internal_csinhf
+ 
+ static _Complex float internal_csinhf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_csinhf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __csinhf
+ 
+ c1_cfloat_rettype
+ __c1_csinhf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_csinhf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_csinhf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_csinhf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (csinhf);
Index: sysdeps/alpha/fpu/s_csqrtf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_csqrtf.c
diff -N sysdeps/alpha/fpu/s_csqrtf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_csqrtf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return square root of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __csqrtf __csinhf_not_defined
+ #define csqrtf csqrtf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __csqrtf
+ #undef csqrtf
+ #define __csqrtf internal_csqrtf
+ 
+ static _Complex float internal_csqrtf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_csqrtf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __csqrtf
+ 
+ c1_cfloat_rettype
+ __c1_csqrtf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_csqrtf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_csqrtf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_csqrtf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (csqrtf);
Index: sysdeps/alpha/fpu/s_ctanf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_ctanf.c
diff -N sysdeps/alpha/fpu/s_ctanf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_ctanf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return tangent of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __ctanf __ctanf_not_defined
+ #define ctanf ctanf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __ctanf
+ #undef ctanf
+ #define __ctanf internal_ctanf
+ 
+ static _Complex float internal_ctanf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_ctanf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __ctanf
+ 
+ c1_cfloat_rettype
+ __c1_ctanf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_ctanf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_ctanf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_ctanf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (ctanf);
Index: sysdeps/alpha/fpu/s_ctanhf.c
===================================================================
RCS file: sysdeps/alpha/fpu/s_ctanhf.c
diff -N sysdeps/alpha/fpu/s_ctanhf.c
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- sysdeps/alpha/fpu/s_ctanhf.c	13 Jan 2004 08:24:26 -0000
***************
*** 0 ****
--- 1,51 ----
+ /* Return hyperbole tangent of complex float value.
+    Copyright (C) 2004 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+ 
+    The GNU C Library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+ 
+    The GNU C Library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+ 
+    You should have received a copy of the GNU Lesser General Public
+    License along with the GNU C Library; if not, write to the Free
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+ #define __ctanhf __ctanhf_not_defined
+ #define ctanhf ctanhf_not_defined
+ 
+ #include <complex.h>
+ #include <math.h>
+ 
+ #undef __ctanhf
+ #undef ctanhf
+ #define __ctanhf internal_ctanhf
+ 
+ static _Complex float internal_ctanhf (_Complex float x);
+ 
+ #include <sysdeps/generic/s_ctanhf.c>
+ #include "cfloat-compat.h"
+ 
+ #undef __ctanhf
+ 
+ c1_cfloat_rettype
+ __c1_ctanhf (c1_cfloat_decl (x))
+ {
+   _Complex float r = internal_ctanhf (c1_cfloat_value (x));
+   return c1_cfloat_return (r);
+ }
+ 
+ c2_cfloat_rettype
+ __c2_ctanhf (c2_cfloat_decl (x))
+ {
+   _Complex float r = internal_ctanhf (c2_cfloat_value (x));
+   return c2_cfloat_return (r);
+ }
+ 
+ cfloat_versions (ctanhf);
Index: sysdeps/alpha/fpu/bits/mathdef.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/alpha/fpu/bits/mathdef.h,v
retrieving revision 1.10
diff -c -p -d -r1.10 mathdef.h
*** sysdeps/alpha/fpu/bits/mathdef.h	9 Apr 2003 07:39:17 -0000	1.10
--- sysdeps/alpha/fpu/bits/mathdef.h	13 Jan 2004 08:24:26 -0000
*************** typedef double double_t;
*** 61,70 ****
  # define FP_ILOGB0     (-2147483647)
  # define FP_ILOGBNAN   (2147483647)
  
! #endif	/* ISO C99 */
  
  #ifndef __NO_LONG_DOUBLE_MATH
  /* Signal that we do not really have a `long double'.  The disables the
     declaration of all the `long double' function variants.  */
  # define __NO_LONG_DOUBLE_MATH	1
  #endif
--- 61,94 ----
  # define FP_ILOGB0     (-2147483647)
  # define FP_ILOGBNAN   (2147483647)
  
! #endif	/* ISO C99 && MATH_H */
  
  #ifndef __NO_LONG_DOUBLE_MATH
  /* Signal that we do not really have a `long double'.  The disables the
     declaration of all the `long double' function variants.  */
  # define __NO_LONG_DOUBLE_MATH	1
  #endif
+ 
+ #if defined _COMPLEX_H && !defined _COMPLEX_H_MATHDEF
+ # define _COMPLEX_H_MATHDEF 1
+ # if defined(__GNUC__) && !__GNUC_PREREQ(3,4)
+ 
+ /* Due to an ABI change, we need to remap the complex float symbols.  */
+ #  define _Mdouble_		float
+ #  define __MATHCALL(function, args) \
+     __MATHDECL (_Complex float, function, args)
+ #  define __MATHDECL(type, function, args) \
+     __MATHDECL_1(type, function##f, args, __c1_##function##f); \
+     __MATHDECL_1(type, __##function##f, args, __c1_##function##f)
+ #  define __MATHDECL_1(type, function, args, alias) \
+     extern type function args __asm__(#alias) __THROW
+ 
+ #  include <bits/cmathcalls.h>
+ 
+ #  undef _Mdouble_
+ #  undef __MATHCALL
+ #  undef __MATHDECL
+ #  undef __MATHDECL_1
+ 
+ # endif /* GNUC before 3.4 */
+ #endif /* COMPLEX_H */
Index: sysdeps/generic/s_cacosf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_cacosf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_cacosf.c
*** sysdeps/generic/s_cacosf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_cacosf.c	13 Jan 2004 08:24:27 -0000
*************** __cacosf (__complex__ float x)
*** 34,37 ****
--- 34,39 ----
  
    return res;
  }
+ #ifndef __cacosf
  weak_alias (__cacosf, cacosf)
+ #endif
Index: sysdeps/generic/s_cacoshf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_cacoshf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_cacoshf.c
*** sysdeps/generic/s_cacoshf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_cacoshf.c	13 Jan 2004 08:24:27 -0000
*************** __cacoshf (__complex__ float x)
*** 96,99 ****
--- 96,101 ----
  
    return res;
  }
+ #ifndef __cacoshf
  weak_alias (__cacoshf, cacoshf)
+ #endif
Index: sysdeps/generic/s_casinf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_casinf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_casinf.c
*** sysdeps/generic/s_casinf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_casinf.c	13 Jan 2004 08:24:27 -0000
*************** __casinf (__complex__ float x)
*** 59,62 ****
--- 59,64 ----
  
    return res;
  }
+ #ifndef __casinf
  weak_alias (__casinf, casinf)
+ #endif
Index: sysdeps/generic/s_casinhf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_casinhf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_casinhf.c
*** sysdeps/generic/s_casinhf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_casinhf.c	13 Jan 2004 08:24:27 -0000
*************** __casinhf (__complex__ float x)
*** 77,80 ****
--- 77,82 ----
  
    return res;
  }
+ #ifndef __casinhf
  weak_alias (__casinhf, casinhf)
+ #endif
Index: sysdeps/generic/s_catanf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_catanf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_catanf.c
*** sysdeps/generic/s_catanf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_catanf.c	13 Jan 2004 08:24:27 -0000
*************** __catanf (__complex__ float x)
*** 82,85 ****
--- 82,87 ----
  
    return res;
  }
+ #ifndef __catanf
  weak_alias (__catanf, catanf)
+ #endif
Index: sysdeps/generic/s_catanhf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_catanhf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_catanhf.c
*** sysdeps/generic/s_catanhf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_catanhf.c	13 Jan 2004 08:24:28 -0000
*************** __catanhf (__complex__ float x)
*** 77,80 ****
--- 77,82 ----
  
    return res;
  }
+ #ifndef __catanhf
  weak_alias (__catanhf, catanhf)
+ #endif
Index: sysdeps/generic/s_ccosf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_ccosf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_ccosf.c
*** sysdeps/generic/s_ccosf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_ccosf.c	13 Jan 2004 08:24:28 -0000
*************** __ccosf (__complex__ float x)
*** 73,76 ****
--- 73,78 ----
  
    return res;
  }
+ #ifndef __ccosf
  weak_alias (__ccosf, ccosf)
+ #endif
Index: sysdeps/generic/s_ccoshf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_ccoshf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_ccoshf.c
*** sysdeps/generic/s_ccoshf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_ccoshf.c	13 Jan 2004 08:24:28 -0000
*************** __ccoshf (__complex__ float x)
*** 98,101 ****
--- 98,103 ----
  
    return retval;
  }
+ #ifndef __ccoshf
  weak_alias (__ccoshf, ccoshf)
+ #endif
Index: sysdeps/generic/s_cexpf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_cexpf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_cexpf.c
*** sysdeps/generic/s_cexpf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_cexpf.c	13 Jan 2004 08:24:28 -0000
*************** __cexpf (__complex__ float x)
*** 120,123 ****
--- 120,125 ----
  
    return retval;
  }
+ #ifndef __cexpf
  weak_alias (__cexpf, cexpf)
+ #endif
Index: sysdeps/generic/s_clog10f.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_clog10f.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_clog10f.c
*** sysdeps/generic/s_clog10f.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_clog10f.c	13 Jan 2004 08:24:28 -0000
*************** __clog10f (__complex__ float x)
*** 58,61 ****
--- 58,63 ----
  
    return result;
  }
+ #ifndef __clog10f
  weak_alias (__clog10f, clog10f)
+ #endif
Index: sysdeps/generic/s_clogf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_clogf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_clogf.c
*** sysdeps/generic/s_clogf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_clogf.c	13 Jan 2004 08:24:28 -0000
*************** __clogf (__complex__ float x)
*** 58,61 ****
--- 58,63 ----
  
    return result;
  }
+ #ifndef __clogf
  weak_alias (__clogf, clogf)
+ #endif
Index: sysdeps/generic/s_cpowf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_cpowf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_cpowf.c
*** sysdeps/generic/s_cpowf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_cpowf.c	13 Jan 2004 08:24:28 -0000
*************** __cpowf (__complex__ float x, __complex_
*** 27,30 ****
--- 27,32 ----
  {
    return __cexpf (c * __clogf (x));
  }
+ #ifndef __cpowf
  weak_alias (__cpowf, cpowf)
+ #endif
Index: sysdeps/generic/s_cprojf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_cprojf.c,v
retrieving revision 1.3
diff -c -p -d -r1.3 s_cprojf.c
*** sysdeps/generic/s_cprojf.c	6 Jul 2001 04:55:49 -0000	1.3
--- sysdeps/generic/s_cprojf.c	13 Jan 2004 08:24:28 -0000
*************** __cprojf (__complex__ float x)
*** 44,47 ****
--- 44,49 ----
  
    return res;
  }
+ #ifndef __cprojf
  weak_alias (__cprojf, cprojf)
+ #endif
Index: sysdeps/generic/s_csinf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_csinf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_csinf.c
*** sysdeps/generic/s_csinf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_csinf.c	13 Jan 2004 08:24:28 -0000
*************** __csinf (__complex__ float x)
*** 124,127 ****
--- 124,129 ----
  
    return retval;
  }
+ #ifndef __csinf
  weak_alias (__csinf, csinf)
+ #endif
Index: sysdeps/generic/s_csinhf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_csinhf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_csinhf.c
*** sysdeps/generic/s_csinhf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_csinhf.c	13 Jan 2004 08:24:28 -0000
*************** __csinhf (__complex__ float x)
*** 119,122 ****
--- 119,124 ----
  
    return retval;
  }
+ #ifndef __csinhf
  weak_alias (__csinhf, csinhf)
+ #endif
Index: sysdeps/generic/s_csqrtf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_csqrtf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_csqrtf.c
*** sysdeps/generic/s_csqrtf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_csqrtf.c	13 Jan 2004 08:24:28 -0000
*************** __csqrtf (__complex__ float x)
*** 107,110 ****
--- 107,112 ----
  
    return res;
  }
+ #ifndef __csqrtf
  weak_alias (__csqrtf, csqrtf)
+ #endif
Index: sysdeps/generic/s_ctanf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_ctanf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_ctanf.c
*** sysdeps/generic/s_ctanf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_ctanf.c	13 Jan 2004 08:24:28 -0000
*************** __ctanf (__complex__ float x)
*** 67,70 ****
--- 67,72 ----
  
    return res;
  }
+ #ifndef __ctanf
  weak_alias (__ctanf, ctanf)
+ #endif
Index: sysdeps/generic/s_ctanhf.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/s_ctanhf.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 s_ctanhf.c
*** sysdeps/generic/s_ctanhf.c	6 Jul 2001 04:55:49 -0000	1.2
--- sysdeps/generic/s_ctanhf.c	13 Jan 2004 08:24:28 -0000
*************** __ctanhf (__complex__ float x)
*** 67,70 ****
--- 67,72 ----
  
    return res;
  }
+ #ifndef __ctanhf
  weak_alias (__ctanhf, ctanhf)
+ #endif


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]