1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
1999-04-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* string/bits/string2.h (memset): Revert to previous version if
	unaligned writes are not available.

1999-04-30  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/i486/bits/string.h (__memset_gc): Help generating
	better code in presence of the asm.

1999-04-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* stdlib/fmtmsg.c (keywords): Increase array size for faster
	indexing.

	* locale/localeinfo.h (_nl_category_names): Increase array element
	size for faster indexing.
	* locale/setlocale.c (_nl_category_names): Adjusted.

1999-04-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* iconv/gconv_conf.c (add_alias): Remove wrong cast.
This commit is contained in:
Ulrich Drepper
1999-04-30 17:44:43 +00:00
parent c5883607f5
commit 23f5f62d4b
6 changed files with 42 additions and 11 deletions

View File

@ -93,7 +93,8 @@ __STRING2_COPY_TYPE (8);
/* Set N bytes of S to C. */
#ifndef _HAVE_STRING_ARCH_memset
# define memset(s, c, n) \
# if _STRING_ARCH_unaligned
# define memset(s, c, n) \
(__extension__ (__builtin_constant_p (n) && (n) <= 16 \
? ((n) == 1 \
? __memset_1 (s, c) \
@ -102,10 +103,10 @@ __STRING2_COPY_TYPE (8);
? ({ void *__s = (s); __bzero (__s, n); __s; }) \
: memset (s, c, n))))
#define __memset_1(s, c) ({ void *__s = (s); \
# define __memset_1(s, c) ({ void *__s = (s); \
*((__uint8_t *) __s) = (__uint8_t) c; __s; })
#define __memset_gc(s, c, n) \
# define __memset_gc(s, c, n) \
({ void *__s = (s); \
__uint32_t *__ts = (__uint32_t *) __s; \
__uint8_t __c = (__uint8_t) (c); \
@ -157,10 +158,17 @@ __STRING2_COPY_TYPE (8);
} \
\
__s; })
# else
# define memset(s, c, n) \
(__extension__ (__builtin_constant_p (c) && (c) == '\0' \
? ({ void *__s = (s); __bzero (__s, n); __s; }) \
: memset (s, c, n)))
# endif
/* GCC optimizes memset(s, 0, n) but not bzero(s, n). */
#if defined __GNUC__ && __GNUC__ >= 2
# define __bzero(s, n) __builtin_memset(s, '\0', n)
#endif
# if defined __GNUC__ && __GNUC__ >= 2
# define __bzero(s, n) __builtin_memset(s, '\0', n)
# endif
#endif