about summary refs log tree commit diff
path: root/wcsmbs
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-01-14 20:33:13 +0000
committerRoland McGrath <roland@gnu.org>2006-01-14 20:33:13 +0000
commit54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0 (patch)
treed613329b14b6c6c9930c115253711625c6064da0 /wcsmbs
parent5c9c64088923397e9524c8ef4545ca0dd66a8d5e (diff)
downloadglibc-54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0.tar.gz
glibc-54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0.tar.xz
glibc-54e98f69e0e36ea8ad4e7a32b798ae90270bc1e0.zip
* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_HIDDEN): Removed.
	(NLDBL_DECL): Rewritten.
	Remove __THROW from NLDBL_DECL uses.
	Use NLDBL_DECL for __vstrfmon, __vstrfmon_l.

	* sysdeps/ieee754/ldbl-opt/nldbl-asinh.c: Restore attribute_hidden.

2006-01-14  Jakub Jelinek  <jakub@redhat.com>

	* misc/sys/cdefs.h (__LDBL_REDIR1_DECL): Define.
	(__LDBL_REDIR_DECL): Stringize __nldbl and name.
	* stdlib/bits/monetary-ldbl.h: Remove pastos from wchar-ldbl.h.
	(strfmon, strfmon_l): Add __LDBL_REDIR_DECL.
	* stdlib/bits/stdlib-ldbl.h (strtold, strtold_l, __strtold_internal,
	qecvt, qfcvt, qgcvt, qecvt_r, qfcvt_r): Use __LDBL_REDIR1_DECL
	instead of __LDBL_REDIR_DECL.
	* wcsmbs/bits/wchar-ldbl.h: Remove stale #if.
	(__LDBL_REDIR_WCHAR): Remove.
	(fwprintf, wprintf, swprintf, vfwprintf, vwprintf, vswprintf,
	fwscanf, wscanf, swscanf, vfwscanf, vwscanf, vswscanf): Use
	__LDBL_REDIR_DECL instead of __LDBL_REDIR_WCHAR.
	(wcstold, wcstold_l, __wcstold_internal): Add __LDBL_REDIR1_DECL.
	* wcsmbs/wchar.h: Include bits/wchar-ldbl.h after bits/wchar2.h
	instead of before it.
	(wcstold inline): Move #ifndef __LDBL_COMPAT before
	extern keyword.
	* libio/bits/stdio-ldbl.h (__snprintf_chk, __vsnprintf_chk): Add
	__LDBL_REDIR_DECL.
	* misc/bits/syslog-ldbl.h (vsyslog): Protect with #ifdef __USE_BSD.
	(__syslog_chk, __vsyslog_chk): Add __LDBL_REDIR_DECL.

2006-01-14  Roland McGrath  <roland@redhat.com>
Diffstat (limited to 'wcsmbs')
-rw-r--r--wcsmbs/bits/wchar-ldbl.h44
-rw-r--r--wcsmbs/wchar.h11
2 files changed, 28 insertions, 27 deletions
diff --git a/wcsmbs/bits/wchar-ldbl.h b/wcsmbs/bits/wchar-ldbl.h
index ac5d3b1c89..5e4894567c 100644
--- a/wcsmbs/bits/wchar-ldbl.h
+++ b/wcsmbs/bits/wchar-ldbl.h
@@ -21,32 +21,34 @@
 # error "Never include <bits/wchar-ldbl.h> directly; use <wchar.h> instead."
 #endif
 
-#if defined __LDBL_COMPAT && defined __GNUC__ && __GNUC__ >= 2
-
-# define __LDBL_REDIR_WCHAR(name) \
-  extern __typeof (name) name __asm (__ASMNAME (__nldbl_##name))
-
-# if defined __USE_ISOC99 || defined __USE_UNIX98
+#if defined __USE_ISOC99 || defined __USE_UNIX98
 __BEGIN_NAMESPACE_C99
-__LDBL_REDIR_WCHAR (fwprintf);
-__LDBL_REDIR_WCHAR (wprintf);
-__LDBL_REDIR_WCHAR (swprintf);
-__LDBL_REDIR_WCHAR (vfwprintf);
-__LDBL_REDIR_WCHAR (vwprintf);
-__LDBL_REDIR_WCHAR (vswprintf);
-__LDBL_REDIR_WCHAR (fwscanf);
-__LDBL_REDIR_WCHAR (wscanf);
-__LDBL_REDIR_WCHAR (swscanf);
+__LDBL_REDIR_DECL (fwprintf);
+__LDBL_REDIR_DECL (wprintf);
+__LDBL_REDIR_DECL (swprintf);
+__LDBL_REDIR_DECL (vfwprintf);
+__LDBL_REDIR_DECL (vwprintf);
+__LDBL_REDIR_DECL (vswprintf);
+__LDBL_REDIR_DECL (fwscanf);
+__LDBL_REDIR_DECL (wscanf);
+__LDBL_REDIR_DECL (swscanf);
 __END_NAMESPACE_C99
-# endif
+#endif
 
-# ifdef __USE_ISOC99
+#ifdef __USE_ISOC99
 __BEGIN_NAMESPACE_C99
-__LDBL_REDIR_WCHAR (vfwscanf);
-__LDBL_REDIR_WCHAR (vwscanf);
-__LDBL_REDIR_WCHAR (vswscanf);
+__LDBL_REDIR1_DECL (wcstold, wcstod);
+__LDBL_REDIR_DECL (vfwscanf);
+__LDBL_REDIR_DECL (vwscanf);
+__LDBL_REDIR_DECL (vswscanf);
 __END_NAMESPACE_C99
-# endif
+#endif
+
+#ifdef __USE_GNU
+__LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
+#endif
+
+__LDBL_REDIR1_DECL (__wcstold_internal, __wcstod_internal);
 
 #if __USE_FORTIFY_LEVEL > 0 && !defined __cplusplus
 __LDBL_REDIR_DECL (__swprintf_chk)
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index fb7a641db7..670dc79c4a 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -561,8 +561,8 @@ extern __inline float
 __NTH (wcstof (__const wchar_t *__restrict __nptr,
 	       wchar_t **__restrict __endptr))
 { return __wcstof_internal (__nptr, __endptr, 0); }
-extern __inline long double
 #  ifndef __LDBL_COMPAT
+extern __inline long double
 __NTH (wcstold (__const wchar_t *__restrict __nptr,
 		wchar_t **__restrict __endptr))
 { return __wcstold_internal (__nptr, __endptr, 0); }
@@ -833,16 +833,15 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
 # include <wctype.h>
 #endif
 
-
-#ifdef __LDBL_COMPAT
-# include <bits/wchar-ldbl.h>
-#endif
-
 /* Define some macros helping to catch buffer overflows.  */
 #if __USE_FORTIFY_LEVEL > 0 && !defined __cplusplus
 # include <bits/wchar2.h>
 #endif
 
+#ifdef __LDBL_COMPAT
+# include <bits/wchar-ldbl.h>
+#endif
+
 __END_DECLS
 
 #endif	/* _WCHAR_H defined */