This is the mail archive of the libc-alpha@sourceware.org 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]

Fix "conflicting types for built-in function" warnings from nldbl-*.c


Building for powerpc32, and probably other systems using ldbl-opt
(i.e. supporting -mlong-double-64, now defaulting to
-mlong-double-128, where a previous version only supported
-mlong-double-64), produces many "conflicting types for built-in
function" warnings building the nldbl-*.c compatibility functions for
code using -mlong-double-64 (the code is using the type "double" in
defining the versions of the long double functions that just wrap the
functions for double).  This patch fixes this by using the appropriate
-fno-builtin-<function> option or options for each affected source
file, to disable the conflicting built-in declaration.

(There are still quite a few warnings left for powerpc32 after this
patch ... I hope the architecture maintainers will also look at them
for 2.17, and that they will look at cleaning up warnings for
powerpc64 as well.)

2012-12-04  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/ieee754/ldbl-opt/Makefile [$(subdir) = math]
	(CFLAGS-nldbl-acos.c): New variable.
	[$(subdir) = math] (CFLAGS-nldbl-acosh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-asin.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-asinh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-atan.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-atan2.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-atanh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cabs.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cacos.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cacosh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-carg.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-casin.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-casinh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-catan.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-catanh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cbrt.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-ccos.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-ccosh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-ceil.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cexp.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cimag.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-clog.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-clog10.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-conj.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-copysign.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cos.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cosh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cpow.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-cproj.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-creal.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-csin.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-csinh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-csqrt.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-ctan.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-ctanh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-drem.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-erf.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-erfc.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-exp.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-exp10.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-exp2.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-expm1.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-fabs.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-fdim.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-finite.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-floor.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-fma.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-fmax.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-fmin.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-fmod.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-frexp.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-gamma.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-hypot.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-ilogb.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-isinf.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-isnan.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-j0.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-j1.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-jn.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-ldexp.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-lgamma.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-lgamma_r.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-llrint.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-llround.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-log.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-log10.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-log1p.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-log2.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-logb.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-lrint.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-lround.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-modf.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-nan.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-nearbyint.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-nextafter.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-nexttoward.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-nexttowardf.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-pow.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-pow10.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-remainder.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-remquo.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-rint.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-round.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-scalb.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-scalbln.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-scalbn.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-significand.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-sin.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-sincos.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-sinh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-sqrt.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-tan.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-tanh.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-tgamma.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-trunc.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-y0.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-y1.c): Likewise.
	[$(subdir) = math] (CFLAGS-nldbl-yn.c): Likewise.

diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile
index 98c9a9c..222122d 100644
--- a/sysdeps/ieee754/ldbl-opt/Makefile
+++ b/sysdeps/ieee754/ldbl-opt/Makefile
@@ -46,4 +46,103 @@ libnldbl-inhibit-o = $(object-suffixes)
 libnldbl-static-only-routines = $(libnldbl-routines)
 extra-objs += $(addsuffix .oS, $(libnldbl-routines))
 
+CFLAGS-nldbl-acos.c = -fno-builtin-acosl
+CFLAGS-nldbl-acosh.c = -fno-builtin-acoshl
+CFLAGS-nldbl-asin.c = -fno-builtin-asinl
+CFLAGS-nldbl-asinh.c = -fno-builtin-asinhl
+CFLAGS-nldbl-atan.c = -fno-builtin-atanl
+CFLAGS-nldbl-atan2.c = -fno-builtin-atan2l
+CFLAGS-nldbl-atanh.c = -fno-builtin-atanhl
+CFLAGS-nldbl-cabs.c = -fno-builtin-cabsl
+CFLAGS-nldbl-cacos.c = -fno-builtin-cacosl
+CFLAGS-nldbl-cacosh.c = -fno-builtin-cacoshl
+CFLAGS-nldbl-carg.c = -fno-builtin-cargl
+CFLAGS-nldbl-casin.c = -fno-builtin-casinl
+CFLAGS-nldbl-casinh.c = -fno-builtin-casinhl
+CFLAGS-nldbl-catan.c = -fno-builtin-catanl
+CFLAGS-nldbl-catanh.c = -fno-builtin-catanhl
+CFLAGS-nldbl-cbrt.c = -fno-builtin-cbrtl
+CFLAGS-nldbl-ccos.c = -fno-builtin-ccosl
+CFLAGS-nldbl-ccosh.c = -fno-builtin-ccoshl
+CFLAGS-nldbl-ceil.c = -fno-builtin-ceill
+CFLAGS-nldbl-cexp.c = -fno-builtin-cexpl
+CFLAGS-nldbl-cimag.c = -fno-builtin-cimagl
+CFLAGS-nldbl-clog.c = -fno-builtin-clogl
+CFLAGS-nldbl-clog10.c = -fno-builtin-clog10l
+CFLAGS-nldbl-conj.c = -fno-builtin-conjl
+CFLAGS-nldbl-copysign.c = -fno-builtin-copysignl
+CFLAGS-nldbl-cos.c = -fno-builtin-cosl
+CFLAGS-nldbl-cosh.c = -fno-builtin-coshl
+CFLAGS-nldbl-cpow.c = -fno-builtin-cpowl
+CFLAGS-nldbl-cproj.c = -fno-builtin-cprojl
+CFLAGS-nldbl-creal.c = -fno-builtin-creall
+CFLAGS-nldbl-csin.c = -fno-builtin-csinl
+CFLAGS-nldbl-csinh.c = -fno-builtin-csinhl
+CFLAGS-nldbl-csqrt.c = -fno-builtin-csqrtl
+CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl
+CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl
+CFLAGS-nldbl-drem.c = -fno-builtin-dreml
+CFLAGS-nldbl-erf.c = -fno-builtin-erfl
+CFLAGS-nldbl-erfc.c = -fno-builtin-erfcl
+CFLAGS-nldbl-exp.c = -fno-builtin-expl
+CFLAGS-nldbl-exp10.c = -fno-builtin-exp10l
+CFLAGS-nldbl-exp2.c = -fno-builtin-exp2l
+CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l
+CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl
+CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml
+CFLAGS-nldbl-finite.c = -fno-builtin-finitel
+CFLAGS-nldbl-floor.c = -fno-builtin-floorl
+CFLAGS-nldbl-fma.c = -fno-builtin-fmal
+CFLAGS-nldbl-fmax.c = -fno-builtin-fmaxl
+CFLAGS-nldbl-fmin.c = -fno-builtin-fminl
+CFLAGS-nldbl-fmod.c = -fno-builtin-fmodl
+CFLAGS-nldbl-frexp.c = -fno-builtin-frexpl
+CFLAGS-nldbl-gamma.c = -fno-builtin-gammal
+CFLAGS-nldbl-hypot.c = -fno-builtin-hypotl
+CFLAGS-nldbl-ilogb.c = -fno-builtin-ilogbl
+CFLAGS-nldbl-isinf.c = -fno-builtin-isinfl
+CFLAGS-nldbl-isnan.c = -fno-builtin-isnanl
+CFLAGS-nldbl-j0.c = -fno-builtin-j0l
+CFLAGS-nldbl-j1.c = -fno-builtin-j1l
+CFLAGS-nldbl-jn.c = -fno-builtin-jnl
+CFLAGS-nldbl-ldexp.c = -fno-builtin-ldexpl
+CFLAGS-nldbl-lgamma.c = -fno-builtin-lgammal
+CFLAGS-nldbl-lgamma_r.c = -fno-builtin-lgammal_r
+CFLAGS-nldbl-llrint.c = -fno-builtin-llrintl
+CFLAGS-nldbl-llround.c = -fno-builtin-llroundl
+CFLAGS-nldbl-log.c = -fno-builtin-logl
+CFLAGS-nldbl-log10.c = -fno-builtin-log10l
+CFLAGS-nldbl-log1p.c = -fno-builtin-log1pl
+CFLAGS-nldbl-log2.c = -fno-builtin-log2l
+CFLAGS-nldbl-logb.c = -fno-builtin-logbl
+CFLAGS-nldbl-lrint.c = -fno-builtin-lrintl
+CFLAGS-nldbl-lround.c = -fno-builtin-lroundl
+CFLAGS-nldbl-modf.c = -fno-builtin-modfl
+CFLAGS-nldbl-nan.c = -fno-builtin-nanl
+CFLAGS-nldbl-nearbyint.c = -fno-builtin-nearbyintl
+CFLAGS-nldbl-nextafter.c = -fno-builtin-nextafterl
+CFLAGS-nldbl-nexttoward.c = -fno-builtin-nexttoward -fno-builtin-nexttowardl
+CFLAGS-nldbl-nexttowardf.c = -fno-builtin-nexttowardf
+CFLAGS-nldbl-pow.c = -fno-builtin-powl
+CFLAGS-nldbl-pow10.c = -fno-builtin-pow10l
+CFLAGS-nldbl-remainder.c = -fno-builtin-remainderl
+CFLAGS-nldbl-remquo.c = -fno-builtin-remquol
+CFLAGS-nldbl-rint.c = -fno-builtin-rintl
+CFLAGS-nldbl-round.c = -fno-builtin-roundl
+CFLAGS-nldbl-scalb.c = -fno-builtin-scalbl
+CFLAGS-nldbl-scalbln.c = -fno-builtin-scalblnl
+CFLAGS-nldbl-scalbn.c = -fno-builtin-scalbnl
+CFLAGS-nldbl-significand.c = -fno-builtin-significandl
+CFLAGS-nldbl-sin.c = -fno-builtin-sinl
+CFLAGS-nldbl-sincos.c = -fno-builtin-sincosl
+CFLAGS-nldbl-sinh.c = -fno-builtin-sinhl
+CFLAGS-nldbl-sqrt.c = -fno-builtin-sqrtl
+CFLAGS-nldbl-tan.c = -fno-builtin-tanl
+CFLAGS-nldbl-tanh.c = -fno-builtin-tanhl
+CFLAGS-nldbl-tgamma.c = -fno-builtin-tgammal
+CFLAGS-nldbl-trunc.c = -fno-builtin-truncl
+CFLAGS-nldbl-y0.c = -fno-builtin-y0l
+CFLAGS-nldbl-y1.c = -fno-builtin-y1l
+CFLAGS-nldbl-yn.c = -fno-builtin-ynl
+
 endif

-- 
Joseph S. Myers
joseph@codesourcery.com


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