aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-09-01 12:39:40 +0000
committerRoland McGrath <roland@gnu.org>2002-09-01 12:39:40 +0000
commit0f283ffc5e8822a367c4703abd584348ff139810 (patch)
treeea4e3a9a5c4dca2c51fb8cb08995de41b2bf998e /include
parent0ba454fccb56eb5890ad692949323af6ad64189c (diff)
downloadglibc-0f283ffc5e8822a367c4703abd584348ff139810.tar
glibc-0f283ffc5e8822a367c4703abd584348ff139810.tar.gz
glibc-0f283ffc5e8822a367c4703abd584348ff139810.tar.bz2
glibc-0f283ffc5e8822a367c4703abd584348ff139810.zip
* sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): Pass
TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN instead of 0, 1. * include/getopt.h: Include <features.h> before <posix/getopt.h>. * locale/findlocale.c (_nl_remove_locale): Don't search in _nl_locale_file_list if DATA->alloc is ld_archive. Use _nl_unload_locale to do the rest of the work. * locale/loadarchive.c (_nl_load_locale_from_archive): Set usage_count of new structure to UNDELETABLE. * wctype/wctype.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswlower, iswgraph, iswprint, iswpunct, iswspace, iswupper, iswxdigit, iswblank, towlower, towupper): Macros removed. * ctype/ctype.h (__tobody): Put parens around macro argument. (__isctype): Macro removed. (__ctype_b, __ctype_tolower, __ctype_toupper): Decls removed. (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, tolower, toupper): Macros and inlines removed. * include/ctype.h [! NOT_IN_libc] (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, tolower, toupper): Define here instead, using _NL_CURRENT. * ctype/ctype.c (__ctype_tolower, __ctype_toupper): Define as macros using _NL_CURRENT. * ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Likewise. * ctype/ctype-info.c (__ctype_b, __ctype_tolower, __ctype_toupper): Renamed these to __ctype_old_*. Define old names only for SHLIB_COMPAT. (__ctype32_b, __ctype32_tolower, __ctype32_toupper): Likewise. (__ctype32_wctrans, __ctype32_wctrans, __ctype32_width): Removed. * locale/lc-ctype.c (_nl_postload_ctype): Use renamed variables, conditional on SHLIB_COMPAT. Don't set removed variables at all. * wctype/wcfuncs.c: Use _NL_CURRENT instead of those globals. * wcsmbs/wcwidth.h (internal_wcwidth): Likewise. * resolv/res_init.c [RESOLVSORT] (sort_mask): Renamed sort_mask_chars. (ISSORTMASK): Update use. * intl/localealias.c [__GNUC__]: #undef alloca before #define. * nss/nss_files/files-XXX.c (last_use): Rename `none' to `nouse'. (_nss_files_getENTNAME_r): Likewise. * nss/nss_files/files-alias.c (last_use, _nss_files_getaliasent_r): Likewise. * Makerules (all-nonlib): Renamed from all-tests. Include $(others) here too. * locale/Makefile (CPPFLAGS-locale, CPPFLAGS-localedef, CPPFLAGS-ld-ctype, CPPFLAGS-ld-time, CPPFLAGS-ld-numeric, CPPFLAGS-ld-monetary, CPPFLAGS-ld-collate, CPPFLAGS-ld-identification, CPPFLAGS-charmap, CPPFLAGS-locarchive, CPPFLAGS-linereader, CPPFLAGS-charmap-dir): Variables removed. Instead, catch all the program modules via cppflags-iterator.mk. * sunrpc/Makefile (CPPFLAGS-rpc_main): Variable removed. Instead, catch all rpcgen-objs via cppflags-iterator.mk. * posix/tst-getconf.sh: If no third arg, work with static linking.
Diffstat (limited to 'include')
-rw-r--r--include/ctype.h46
-rw-r--r--include/getopt.h1
2 files changed, 46 insertions, 1 deletions
diff --git a/include/ctype.h b/include/ctype.h
index 7b51e1f5eb..3100853ab4 100644
--- a/include/ctype.h
+++ b/include/ctype.h
@@ -1 +1,45 @@
-#include <ctype/ctype.h>
+#ifndef _CTYPE_H
+
+# include <ctype/ctype.h>
+
+# ifndef NOT_IN_libc
+
+/* The optimized macros are not defined for users because they can't see
+ the thread-local locale state. For inside libc, define them using the
+ _NL_CURRENT accessors. We don't use _NL_CURRENT_LOCALE->__ctype_b here
+ because we want to cause a link-time ref to _nl_current_LC_CTYPE under
+ NL_CURRENT_INDIRECT. */
+
+# include "../locale/localeinfo.h"
+# define __isctype(c, type) \
+ (((uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS) + 128) \
+ [(int) (c)] & (uint16_t) type)
+# ifndef __NO_CTYPE
+# define isalnum(c) __isctype((c), _ISalnum)
+# define isalpha(c) __isctype((c), _ISalpha)
+# define iscntrl(c) __isctype((c), _IScntrl)
+# define isdigit(c) __isctype((c), _ISdigit)
+# define islower(c) __isctype((c), _ISlower)
+# define isgraph(c) __isctype((c), _ISgraph)
+# define isprint(c) __isctype((c), _ISprint)
+# define ispunct(c) __isctype((c), _ISpunct)
+# define isspace(c) __isctype((c), _ISspace)
+# define isupper(c) __isctype((c), _ISupper)
+# define isxdigit(c) __isctype((c), _ISxdigit)
+# define isblank(c) __isctype((c), _ISblank)
+
+# define tolower(c) \
+ __tobody (c, tolower, \
+ (uint32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOLOWER) + 128, \
+ (c))
+# define _tolower(c) tolower (c)
+# define toupper(c) \
+ __tobody (c, toupper, \
+ (uint32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOUPPER) + 128, \
+ (c))
+# define _toupper(c) toupper (c)
+
+# endif /* Not __NO_CTYPE. */
+# endif /* _LIBC_REENTRANT. */
+
+#endif /* ctype.h */
diff --git a/include/getopt.h b/include/getopt.h
index 70e790b396..7bef4ba4bb 100644
--- a/include/getopt.h
+++ b/include/getopt.h
@@ -1,5 +1,6 @@
#ifndef _GETOPT_H
+#include <features.h> /* Get __GNU_LIBRARY__ defined now. */
#include <posix/getopt.h>
# ifdef _GETOPT_H