1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-16 01:22:18 +03:00
Commit Graph

4 Commits

Author SHA1 Message Date
Paul Eggert
005973d694 builtin-expect: new module
Fix fnmatch to use it.
Problem reported for z/OS by Daniel Richard G.
* lib/fnmatch.c (__builtin_expect):
* lib/glob.c (__builtin_expect):
* lib/grantpt.c (__builtin_expect) [!_LIBC]:
* lib/memmem.c (__builtin_expect) [!_LIBC]:
* lib/scandir.c (__builtin_expect):
* lib/strstr.c (__builtin_expect) [!_LIBC]:
Remove macro; config.h now does this.
* lib/gl_anytreehash_list1.h (add_to_bucket):
* lib/regex_internal.h (BE):
Assume __builtin_expect.
* m4/builtin-expect.m4, modules/builtin-expect: New files.
* modules/avltreehash-list, modules/fnmatch, modules/glob:
* modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
* modules/scandir, modules/strstr-simple:
Depend on builtin-expect.
2016-12-16 14:57:13 -08:00
Bruno Haible
b434a64047 strstr*: Move AC_LIBOBJ invocations to module description.
* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
invocations from here...
* modules/strstr-simple (configure.ac): ... to here.
* modules/strstr (configure.ac): ... and here.
2011-06-16 00:06:53 +02:00
Bruno Haible
7cbbd8a31a Avoid unnecessary compilation units, through conditional dependencies.
* modules/accept (Depends-on): Add conditions to the dependencies.
* modules/acosl (Depends-on): Likewise.
* modules/argz (Depends-on): Likewise.
* modules/asinl (Depends-on): Likewise.
* modules/atanl (Depends-on): Likewise.
* modules/atoll (Depends-on): Likewise.
* modules/bind (Depends-on): Likewise.
* modules/btowc (Depends-on): Likewise.
* modules/canonicalize-lgpl (Depends-on): Likewise.
* modules/ceil (Depends-on): Likewise.
* modules/ceilf (Depends-on): Likewise.
* modules/ceill (Depends-on): Likewise.
* modules/chdir-long (Depends-on): Likewise.
* modules/chown (Depends-on): Likewise.
* modules/close (Depends-on): Likewise.
* modules/connect (Depends-on): Likewise.
* modules/cosl (Depends-on): Likewise.
* modules/dirfd (Depends-on): Likewise.
* modules/dprintf (Depends-on): Likewise.
* modules/dprintf-posix (Depends-on): Likewise.
* modules/error (Depends-on): Likewise.
* modules/euidaccess (Depends-on): Likewise.
* modules/expl (Depends-on): Likewise.
* modules/faccessat (Depends-on): Likewise.
* modules/fchdir (Depends-on): Likewise.
* modules/fclose (Depends-on): Likewise.
* modules/fcntl (Depends-on): Likewise.
* modules/fdopendir (Depends-on): Likewise.
* modules/fflush (Depends-on): Likewise.
* modules/floor (Depends-on): Likewise.
* modules/floorf (Depends-on): Likewise.
* modules/floorl (Depends-on): Likewise.
* modules/fnmatch (Depends-on): Likewise.
* modules/fopen (Depends-on): Likewise.
* modules/fprintf-posix (Depends-on): Likewise.
* modules/frexp (Depends-on): Likewise.
* modules/frexp-nolibm (Depends-on): Likewise.
* modules/frexpl (Depends-on): Likewise.
* modules/frexpl-nolibm (Depends-on): Likewise.
* modules/fseek (Depends-on): Likewise.
* modules/fsusage (Depends-on): Likewise.
* modules/ftell (Depends-on): Likewise.
* modules/ftello (Depends-on): Likewise.
* modules/futimens (Depends-on): Likewise.
* modules/getcwd (Depends-on): Likewise.
* modules/getcwd-lgpl (Depends-on): Likewise.
* modules/getdelim (Depends-on): Likewise.
* modules/getdomainname (Depends-on): Likewise.
* modules/getgroups (Depends-on): Likewise.
* modules/gethostname (Depends-on): Likewise.
* modules/getline (Depends-on): Likewise.
* modules/getlogin_r (Depends-on): Likewise.
* modules/getopt-posix (Depends-on): Likewise.
* modules/getpeername (Depends-on): Likewise.
* modules/getsockname (Depends-on): Likewise.
* modules/getsockopt (Depends-on): Likewise.
* modules/getsubopt (Depends-on): Likewise.
* modules/getusershell (Depends-on): Likewise.
* modules/glob (Depends-on): Likewise.
* modules/grantpt (Depends-on): Likewise.
* modules/iconv_open (Depends-on): Likewise.
* modules/iconv_open-utf (Depends-on): Likewise.
* modules/inet_ntop (Depends-on): Likewise.
* modules/inet_pton (Depends-on): Likewise.
* modules/ioctl (Depends-on): Likewise.
* modules/isapipe (Depends-on): Likewise.
* modules/isfinite (Depends-on): Likewise.
* modules/isinf (Depends-on): Likewise.
* modules/lchown (Depends-on): Likewise.
* modules/ldexpl (Depends-on): Likewise.
* modules/link (Depends-on): Likewise.
* modules/linkat (Depends-on): Likewise.
* modules/listen (Depends-on): Likewise.
* modules/logl (Depends-on): Likewise.
* modules/lstat (Depends-on): Likewise.
* modules/mbrlen (Depends-on): Likewise.
* modules/mbrtowc (Depends-on): Likewise.
* modules/mbsinit (Depends-on): Likewise.
* modules/mbsnrtowcs (Depends-on): Likewise.
* modules/mbsrtowcs (Depends-on): Likewise.
* modules/mbtowc (Depends-on): Likewise.
* modules/memcmp (Depends-on): Likewise.
* modules/mkdir (Depends-on): Likewise.
* modules/mkdtemp (Depends-on): Likewise.
* modules/mkfifo (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/mknod (Depends-on): Likewise.
* modules/mkostemp (Depends-on): Likewise.
* modules/mkostemps (Depends-on): Likewise.
* modules/mkstemp (Depends-on): Likewise.
* modules/mkstemps (Depends-on): Likewise.
* modules/mktime (Depends-on): Likewise.
* modules/nanosleep (Depends-on): Likewise.
* modules/open (Depends-on): Likewise.
* modules/openat (Depends-on): Likewise.
* modules/perror (Depends-on): Likewise.
* modules/poll (Depends-on): Likewise.
* modules/popen (Depends-on): Likewise.
* modules/posix_spawn (Depends-on): Likewise.
* modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
* modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
* modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
* modules/posix_spawnp (Depends-on): Likewise.
* modules/pread (Depends-on): Likewise.
* modules/printf-posix (Depends-on): Likewise.
* modules/ptsname (Depends-on): Likewise.
* modules/putenv (Depends-on): Likewise.
* modules/pwrite (Depends-on): Likewise.
* modules/readline (Depends-on): Likewise.
* modules/readlink (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/recv (Depends-on): Likewise.
* modules/recvfrom (Depends-on): Likewise.
* modules/regex (Depends-on): Likewise.
* modules/remove (Depends-on): Likewise.
* modules/rename (Depends-on): Likewise.
* modules/renameat (Depends-on): Likewise.
* modules/rmdir (Depends-on): Likewise.
* modules/round (Depends-on): Likewise.
* modules/roundf (Depends-on): Likewise.
* modules/roundl (Depends-on): Likewise.
* modules/rpmatch (Depends-on): Likewise.
* modules/select (Depends-on): Likewise.
* modules/send (Depends-on): Likewise.
* modules/sendto (Depends-on): Likewise.
* modules/setenv (Depends-on): Likewise.
* modules/setlocale (Depends-on): Likewise.
* modules/setsockopt (Depends-on): Likewise.
* modules/shutdown (Depends-on): Likewise.
* modules/sigaction (Depends-on): Likewise.
* modules/signbit (Depends-on): Likewise.
* modules/sigprocmask (Depends-on): Likewise.
* modules/sinl (Depends-on): Likewise.
* modules/sleep (Depends-on): Likewise.
* modules/snprintf (Depends-on): Likewise.
* modules/snprintf-posix (Depends-on): Likewise.
* modules/socket (Depends-on): Likewise.
* modules/sprintf-posix (Depends-on): Likewise.
* modules/sqrtl (Depends-on): Likewise.
* modules/stat (Depends-on): Likewise.
* modules/strchrnul (Depends-on): Likewise.
* modules/strdup-posix (Depends-on): Likewise.
* modules/strerror (Depends-on): Likewise.
* modules/strerror_r-posix (Depends-on): Likewise.
* modules/strndup (Depends-on): Likewise.
* modules/strnlen (Depends-on): Likewise.
* modules/strptime (Depends-on): Likewise.
* modules/strsep (Depends-on): Likewise.
* modules/strsignal (Depends-on): Likewise.
* modules/strstr-simple (Depends-on): Likewise.
* modules/strtod (Depends-on): Likewise.
* modules/strtoimax (Depends-on): Likewise.
* modules/strtok_r (Depends-on): Likewise.
* modules/strtoumax (Depends-on): Likewise.
* modules/symlink (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/tanl (Depends-on): Likewise.
* modules/tcgetsid (Depends-on): Likewise.
* modules/tmpfile (Depends-on): Likewise.
* modules/trunc (Depends-on): Likewise.
* modules/truncf (Depends-on): Likewise.
* modules/truncl (Depends-on): Likewise.
* modules/uname (Depends-on): Likewise.
* modules/unlink (Depends-on): Likewise.
* modules/unlockpt (Depends-on): Likewise.
* modules/unsetenv (Depends-on): Likewise.
* modules/usleep (Depends-on): Likewise.
* modules/utimensat (Depends-on): Likewise.
* modules/vasprintf (Depends-on): Likewise.
* modules/vdprintf (Depends-on): Likewise.
* modules/vdprintf-posix (Depends-on): Likewise.
* modules/vfprintf-posix (Depends-on): Likewise.
* modules/vprintf-posix (Depends-on): Likewise.
* modules/vsnprintf (Depends-on): Likewise.
* modules/vsnprintf-posix (Depends-on): Likewise.
* modules/vsprintf-posix (Depends-on): Likewise.
* modules/wcrtomb (Depends-on): Likewise.
* modules/wcscasecmp (Depends-on): Likewise.
* modules/wcscspn (Depends-on): Likewise.
* modules/wcsdup (Depends-on): Likewise.
* modules/wcsncasecmp (Depends-on): Likewise.
* modules/wcsnrtombs (Depends-on): Likewise.
* modules/wcspbrk (Depends-on): Likewise.
* modules/wcsrtombs (Depends-on): Likewise.
* modules/wcsspn (Depends-on): Likewise.
* modules/wcsstr (Depends-on): Likewise.
* modules/wcstok (Depends-on): Likewise.
* modules/wcswidth (Depends-on): Likewise.
* modules/wctob (Depends-on): Likewise.
* modules/wctomb (Depends-on): Likewise.
* modules/wctype (Depends-on): Likewise.
* modules/wcwidth (Depends-on): Likewise.
* modules/write (Depends-on): Likewise.
2011-05-03 23:38:19 +02:00
Eric Blake
e3e47d1710 strstr, strcasestr: replace on platforms with broken memchr
* modules/strstr: Split into...
* modules/strstr-simple: ...new module that does not care about
performance, but does care about glibc bug.
* m4/strstr.m4 (gl_FUNC_STRSTR): Split...
(gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
if platform memchr is broken, per Debian bug 521737.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
memchr.
* m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
* doc/posix-functions/strstr.texi (strstr): Document the fix.
* doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
* modules/mountlist (Depends-on): Add strstr-simple.
* modules/gen-uni-tables (Depends-on): Likewise.
* modules/argz (Depends-on): Add strstr.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-06-17 07:24:16 -06:00