about summary refs log tree commit diff
path: root/stdlib
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-02-20 09:50:50 +0000
committerRoland McGrath <roland@gnu.org>1995-02-20 09:50:50 +0000
commit0923c7a543d377bae9da0ad7075c8f9664ae70dc (patch)
tree7fba8f9a64d1aa1a457537d8f08819ed8c1a6cf4 /stdlib
parent9c97d688c1798d080a42e024eda0fc6e681aa97f (diff)
downloadglibc-0923c7a543d377bae9da0ad7075c8f9664ae70dc.tar.gz
glibc-0923c7a543d377bae9da0ad7075c8f9664ae70dc.tar.xz
glibc-0923c7a543d377bae9da0ad7075c8f9664ae70dc.zip
Mon Feb 20 04:04:57 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu>
	* config.h.in [HAVE_ELF || HAVE_GNU_LD]: Define HAVE_WEAK_SYMBOLS.

	* stdlib/strtod.c (PASTE, PASTE1): New helper macros; use these in
 	access to float.h macros.

	* misc/efgcvt.c: New file.
	* misc/Makefile (routines): Add efgcvt.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/strtod.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/stdlib/strtod.c b/stdlib/strtod.c
index d647753e79..6bd2dd685a 100644
--- a/stdlib/strtod.c
+++ b/stdlib/strtod.c
@@ -47,13 +47,16 @@ Cambridge, MA 02139, USA.  */
 
 
 /* Constants we need from float.h; select the set for the FLOAT precision.  */
-#define MANT_DIG	FLT##_MANT_DIG
-#define	MAX_EXP		FLT##_MAX_EXP
-#define	MIN_EXP		FLT##_MIN_EXP
-#define MAX_10_EXP	FLT##_MAX_10_EXP
-#define MIN_10_EXP	FLT##_MIN_10_EXP
-#define	MAX_10_EXP_LOG	FLT##_MAX_10_EXP_LOG
-
+#define MANT_DIG	PASTE(FLT,_MANT_DIG)
+#define	MAX_EXP		PASTE(FLT,_MAX_EXP)
+#define	MIN_EXP		PASTE(FLT,_MIN_EXP)
+#define MAX_10_EXP	PASTE(FLT,_MAX_10_EXP)
+#define MIN_10_EXP	PASTE(FLT,_MIN_10_EXP)
+#define	MAX_10_EXP_LOG	PASTE(FLT,_MAX_10_EXP_LOG)
+
+/* Extra macros required to get FLT expanded before the pasting.  */
+#define PASTE(a,b)	PASTE1(a,b)
+#define PASTE1(a,b)	a##b
 
 /* Function to construct a floating point number from an MP integer
    containing the fraction bits, a base 2 exponent, and a sign flag.  */