From: Roland McGrath Date: Mon, 8 Jul 1996 17:35:27 +0000 (+0000) Subject: Mon Jul 8 02:14:25 1996 Roland McGrath X-Git-Tag: upstream/2.30~29260 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f5cb4a5cbae4310fc0dcc5a1a218596505fcdc8b;p=external%2Fglibc.git Mon Jul 8 02:14:25 1996 Roland McGrath * math/math.h (_Mfloat_, _Mlong_double_): New macros, defined iff not already defined to float, long double. Use those macros for _Mdouble_ defns when including mathcalls.h. * math/Makefile [$(long-double-fcts) != yes] (CPPFLAGS): Append -D_Mlong_double_=double. Add more -lm functions to -lc because ldexp uses them. * math/Makefile (calls): Add s_finite, s_copysign, s_scalbn, s_modf. (routines): Remove s_modf, add s_frexpf, s_ldexpf; all but frexp and ldexp have both f and l code, and those have f though not l code. --- diff --git a/math/Makefile b/math/Makefile index c974621..bce9890 100644 --- a/math/Makefile +++ b/math/Makefile @@ -55,9 +55,9 @@ long-m-routines = $(patsubst %_rl,%l_r,$(libm-calls:=l)) # not ready yet # These functions are in libc instead of libm because __printf_fp # calls them, so any program using printf will need them linked in, # and we don't want to have to link every program with -lm. -calls = s_isinf s_isnan +calls = s_isinf s_isnan s_finite s_copysign s_modf s_scalbn routines = $(calls) $(calls:=f) $(long-c-$(long-double-fcts)) \ - s_frexp s_ldexp s_modf + s_frexp s_ldexp s_frexpf s_ldexpf long-c-yes = $(calls:=l) distribute += $(long-c-yes:=.c) @@ -83,8 +83,10 @@ CPPFLAGS += -D__NO_MATH_INLINES ifneq ($(long-double-fcts),yes) # The `double' and `long double' types are the same on this machine. # We won't compile the `long double' code at all. Tell the `double' code -# to define aliases for the `FUNCl' names. -CPPFLAGS += -DNO_LONG_DOUBLE +# to define aliases for the `FUNCl' names. To avoid type conflicts in +# defining those aliases, tell to declare the `FUNCl' names with +# `double' instead of `long double'. +CPPFLAGS += -DNO_LONG_DOUBLE -D_Mlong_double_=double endif # The fdlibm code generates a lot of these warnings but is otherwise clean.