tests/string: Drop simple/stupid/builtin tests
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Wed, 6 Apr 2022 15:23:24 +0000 (20:53 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Wed, 6 Apr 2022 15:23:24 +0000 (20:53 +0530)
In most cases the simple/stupid/builtin functions were in there to
benchmark optimized implementations against.  Only in some cases the
functions are used to check expected results.

Remove these tests from IMPL() and only keep them in wherever they're
used for a specific purpose, e.g. to generate expected results.

This improves timing of `make subdirs=string` by over a minute and a
half (over 15%) on a Whiskey Lake laptop.

Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Reviewed-by: Noah Goldstein <libc-alpha@sourceware.org>
25 files changed:
string/test-memccpy.c
string/test-memchr.c
string/test-memcmp.c
string/test-memcpy-support.h
string/test-memmem.c
string/test-memmove.c
string/test-mempcpy.c
string/test-memrchr.c
string/test-memset.c
string/test-strcasecmp.c
string/test-strcasestr.c
string/test-strcat.c
string/test-strchr.c
string/test-strcmp.c
string/test-strcpy.c
string/test-strlen.c
string/test-strncasecmp.c
string/test-strncat.c
string/test-strncmp.c
string/test-strncpy.c
string/test-strnlen.c
string/test-strpbrk.c
string/test-strrchr.c
string/test-strspn.c
string/test-strstr.c

index ee2cf8b8af1dc1ca1776ea2905a80b6d738d9073..c7cc866fa2d683fa7c51b49e70f06a6bf8e29a38 100644 (file)
 #define TEST_NAME "memccpy"
 #include "test-string.h"
 
-void *simple_memccpy (void *, const void *, int, size_t);
-void *stupid_memccpy (void *, const void *, int, size_t);
-
-IMPL (stupid_memccpy, 0)
-IMPL (simple_memccpy, 0)
 IMPL (memccpy, 1)
 
+/* Naive implementation to verify results.  */
 void *
 simple_memccpy (void *dst, const void *src, int c, size_t n)
 {
@@ -40,18 +36,6 @@ simple_memccpy (void *dst, const void *src, int c, size_t n)
   return NULL;
 }
 
-void *
-stupid_memccpy (void *dst, const void *src, int c, size_t n)
-{
-  void *p = memchr (src, c, n);
-
-  if (p != NULL)
-    return mempcpy (dst, src, p - src + 1);
-
-  memcpy (dst, src, n);
-  return NULL;
-}
-
 typedef void *(*proto_t) (void *, const void *, int c, size_t);
 
 static void
index a4617086b3066ea578b1eab0964f61dc1361691e..279a67ebe6a26610ad62ed0c54c49036439319b8 100644 (file)
 #endif /* WIDE */
 
 typedef CHAR *(*proto_t) (const CHAR *, int, size_t);
-CHAR *SIMPLE_MEMCHR (const CHAR *, int, size_t);
 
-IMPL (SIMPLE_MEMCHR, 0)
 IMPL (MEMCHR, 1)
 
+/* Naive implementation to verify results.  */
 CHAR *
 SIMPLE_MEMCHR (const CHAR *s, int c, size_t n)
 {
index 89ef3419a06c5d95f7c302aeb68fa029d01b3589..181b689f68ee9b373df0027626a2c40a76be9a05 100644 (file)
@@ -85,7 +85,6 @@ SIMPLE_MEMCMP (const char *s1, const char *s2, size_t n)
 
 typedef int (*proto_t) (const CHAR *, const CHAR *, size_t);
 
-IMPL (SIMPLE_MEMCMP, 0)
 IMPL (MEMCMP, 1)
 
 static int
index 699c00ce4cb3d8012a4bdbced4676c288fd653f9..0ea982b429f835638d7df764f197162b6676225d 100644 (file)
 #define TIMEOUT (8 * 60)
 #include "test-string.h"
 
-char *simple_memcpy (char *, const char *, size_t);
-char *builtin_memcpy (char *, const char *, size_t);
-
-IMPL (simple_memcpy, 0)
-IMPL (builtin_memcpy, 0)
 IMPL (memcpy, 1)
+
+/* Naive implementation to verify results.  */
 char *
 simple_memcpy (char *dst, const char *src, size_t n)
 {
@@ -44,11 +41,6 @@ simple_memcpy (char *dst, const char *src, size_t n)
   return ret;
 }
 
-char *
-builtin_memcpy (char *dst, const char *src, size_t n)
-{
-  return __builtin_memcpy (dst, src, n);
-}
 #endif
 typedef char *(*proto_t) (char *, const char *, size_t);
 typedef uint32_t __attribute__ ((may_alias, aligned (1))) unaligned_uint32_t;
index 37d3ea4fca827ec941b4b63462c3df5595d78950..69803be0ca89de11cc77f52f8d1b66518af19b56 100644 (file)
 #include "test-string.h"
 
 typedef char *(*proto_t) (const void *, size_t, const void *, size_t);
-void *simple_memmem (const void *, size_t, const void *, size_t);
 
-IMPL (simple_memmem, 0)
 IMPL (memmem, 1)
 
+/* Naive implementation to verify results.  */
 void *
 simple_memmem (const void *haystack, size_t haystack_len, const void *needle,
               size_t needle_len)
index 8d9ac86b4ff44d9384c1db9ad62c6c69f2947bf3..be8752e83332ca31da1a6c13fd184543e16ec0d4 100644 (file)
@@ -29,23 +29,23 @@ char *simple_memmove (char *, const char *, size_t);
 
 #ifdef TEST_BCOPY
 typedef void (*proto_t) (const char *, char *, size_t);
-void simple_bcopy (const char *, char *, size_t);
 
-IMPL (simple_bcopy, 0)
 IMPL (bcopy, 1)
 
+/* Naive implementation to verify results.  */
 void
 simple_bcopy (const char *src, char *dst, size_t n)
 {
   simple_memmove (dst, src, n);
 }
+
 #else
 typedef char *(*proto_t) (char *, const char *, size_t);
 
-IMPL (simple_memmove, 0)
 IMPL (memmove, 1)
 #endif
 
+/* Naive implementation to verify results.  */
 char *
 inhibit_loop_to_libcall
 simple_memmove (char *dst, const char *src, size_t n)
index 9637d0278768e7bf723c28fc498974ea6140ea55..75808b2831d6ddd18a65e25b2a12077c56ab8350 100644 (file)
 #define TEST_NAME "mempcpy"
 #include "test-string.h"
 
-char *simple_mempcpy (char *, const char *, size_t);
-
-IMPL (simple_mempcpy, 0)
 IMPL (mempcpy, 1)
 
+/* Naive implementation to verify results.  */
 char *
 simple_mempcpy (char *dst, const char *src, size_t n)
 {
index 8d60d178a001e2ab51b823f5d793d8f8a33392dd..80419a656109b39088dbd1e05744883be6f72460 100644 (file)
 #include "test-string.h"
 
 typedef char *(*proto_t) (const char *, int, size_t);
-char *simple_memrchr (const char *, int, size_t);
 
-IMPL (simple_memrchr, 0)
 IMPL (memrchr, 1)
 
+/* Naive implementation to verify results.  */
 char *
 simple_memrchr (const char *s, int c, size_t n)
 {
index ee548f6924c1b2d490bd32239a7c056d6e561967..00582c881c43a63feb6f085b4dd953f4898fd7af 100644 (file)
 # define BIG_CHAR WCHAR_MAX
 #endif /* WIDE */
 
-CHAR *SIMPLE_MEMSET (CHAR *, int, size_t);
-
 #ifdef TEST_BZERO
 typedef void (*proto_t) (char *, size_t);
-void simple_bzero (char *, size_t);
-void builtin_bzero (char *, size_t);
-
-IMPL (simple_bzero, 0)
-IMPL (builtin_bzero, 0)
-#ifdef TEST_EXPLICIT_BZERO
+# ifdef TEST_EXPLICIT_BZERO
 IMPL (explicit_bzero, 1)
-#else
+# else
 IMPL (bzero, 1)
-#endif
-
-void
-simple_bzero (char *s, size_t n)
-{
-  SIMPLE_MEMSET (s, 0, n);
-}
-
-void
-builtin_bzero (char *s, size_t n)
-{
-  __builtin_bzero (s, n);
-}
+# endif
 #else
 typedef CHAR *(*proto_t) (CHAR *, int, size_t);
-
-IMPL (SIMPLE_MEMSET, 0)
-# ifndef WIDE
-char *builtin_memset (char *, int, size_t);
-IMPL (builtin_memset, 0)
-# endif /* !WIDE */
 IMPL (MEMSET, 1)
-
-# ifndef WIDE
-char *
-builtin_memset (char *s, int c, size_t n)
-{
-  return __builtin_memset (s, c, n);
-}
-# endif /* !WIDE */
 #endif /* !TEST_BZERO */
 
+/* Naive implementation to verify results.  */
 CHAR *
 inhibit_loop_to_libcall
 SIMPLE_MEMSET (CHAR *s, int c, size_t n)
@@ -116,7 +84,7 @@ do_one_test (impl_t *impl, CHAR *s, int c __attribute ((unused)), size_t n, int
       s[n] = sentinel;
   SIMPLE_MEMSET(s, ~c, n);
 #ifdef TEST_BZERO
-  simple_bzero (buf, n);
+  SIMPLE_MEMSET (buf, 0, n);
   CALL (impl, s, n);
   if (memcmp (s, buf, n) != 0
       || (space_below && s[-1] != sentinel)
index 438a9713ac4f2b87596742d483cbc9032f47b36b..fe48d1197f74869159d2899a31626af170319bfd 100644 (file)
 #include "test-string.h"
 
 typedef int (*proto_t) (const char *, const char *);
-static int simple_strcasecmp (const char *, const char *);
-static int stupid_strcasecmp (const char *, const char *);
 
-IMPL (stupid_strcasecmp, 0)
-IMPL (simple_strcasecmp, 0)
 IMPL (strcasecmp, 1)
 
-static int
+/* Naive implementation to verify results.  */
+int
 simple_strcasecmp (const char *s1, const char *s2)
 {
   int ret;
@@ -46,24 +43,6 @@ simple_strcasecmp (const char *s1, const char *s2)
   return ret;
 }
 
-static int
-stupid_strcasecmp (const char *s1, const char *s2)
-{
-  size_t ns1 = strlen (s1) + 1, ns2 = strlen (s2) + 1;
-  size_t n = ns1 < ns2 ? ns1 : ns2;
-  int ret = 0;
-
-  while (n--)
-    {
-      if ((ret = ((unsigned char) tolower (*s1)
-                 - (unsigned char) tolower (*s2))) != 0)
-       break;
-      ++s1;
-      ++s2;
-    }
-  return ret;
-}
-
 static void
 do_one_test (impl_t *impl, const char *s1, const char *s2, int exp_result)
 {
index b73bcfe8b4b8c28603381ff6c03f04ddefedf77b..0d39c62d09ae9324a24ce2ea3246bdef406dad3b 100644 (file)
 #include "test-string.h"
 
 
-#define STRCASESTR simple_strcasestr
+#define STRCASESTR c_strcasestr
 #define NO_ALIAS
 #define __strncasecmp strncasecmp
 #define __strnlen strnlen
 #include "strcasestr.c"
 
-
+/* Naive implementation to verify results.  */
 static char *
-stupid_strcasestr (const char *s1, const char *s2)
+simple_strcasestr (const char *s1, const char *s2)
 {
   ssize_t s1len = strlen (s1);
   ssize_t s2len = strlen (s2);
@@ -53,8 +53,7 @@ stupid_strcasestr (const char *s1, const char *s2)
 
 typedef char *(*proto_t) (const char *, const char *);
 
-IMPL (stupid_strcasestr, 0)
-IMPL (simple_strcasestr, 0)
+IMPL (c_strcasestr, 0)
 IMPL (strcasestr, 1)
 
 
@@ -129,7 +128,7 @@ check1 (void)
   const char s2[] = "OK";
   char *exp_result;
 
-  exp_result = stupid_strcasestr (s1, s2);
+  exp_result = simple_strcasestr (s1, s2);
   FOR_EACH_IMPL (impl, 0)
     check_result (impl, s1, s2, exp_result);
 }
index b5aab0f66f89acec91398980de8b95dcd25b935c..59b953c96205153fcd464a851acb9713d99c2933 100644 (file)
 #endif /* WIDE */
 
 typedef CHAR *(*proto_t) (CHAR *, const CHAR *);
-CHAR *SIMPLE_STRCAT (CHAR *, const CHAR *);
 
-IMPL (SIMPLE_STRCAT, 0)
 IMPL (STRCAT, 1)
 
+/* Naive implementation to verify results.  */
 CHAR *
 SIMPLE_STRCAT (CHAR *dst, const CHAR *src)
 {
index 4d2ab5fbeb997c5e89bda130eeeb9b8919b948bd..631e3779913acdede49c3ff555c632a88a92a125 100644 (file)
@@ -35,7 +35,6 @@
 #ifndef WIDE
 # ifdef USE_FOR_STRCHRNUL
 #  define STRCHR strchrnul
-#  define stupid_STRCHR stupid_STRCHRNUL
 #  define simple_STRCHR simple_STRCHRNUL
 # else
 #  define STRCHR strchr
@@ -51,7 +50,6 @@
 # include <wchar.h>
 # ifdef USE_FOR_STRCHRNUL
 #  define STRCHR wcschrnul
-#  define stupid_STRCHR stupid_WCSCHRNUL
 #  define simple_STRCHR simple_WCSCHRNUL
 # else
 #  define STRCHR wcschr
 
 typedef CHAR *(*proto_t) (const CHAR *, int);
 
+/* Naive implementation to verify results.  */
 CHAR *
 simple_STRCHR (const CHAR *s, int c)
-{
-  for (; *s != (CHAR) c; ++s)
-    if (*s == '\0')
-      return NULLRET ((CHAR *) s);
-  return (CHAR *) s;
-}
-
-CHAR *
-stupid_STRCHR (const CHAR *s, int c)
 {
   size_t n = STRLEN (s) + 1;
 
@@ -94,8 +84,6 @@ stupid_STRCHR (const CHAR *s, int c)
   return NULLRET ((CHAR *) s - 1);
 }
 
-IMPL (stupid_STRCHR, 0)
-IMPL (simple_STRCHR, 0)
 IMPL (STRCHR, 1)
 
 static int
@@ -231,7 +219,7 @@ check1 (void)
 {
   CHAR s[] __attribute__((aligned(16))) = L ("\xff");
   CHAR c = L ('\xfe');
-  CHAR *exp_result = stupid_STRCHR (s, c);
+  CHAR *exp_result = simple_STRCHR (s, c);
 
   FOR_EACH_IMPL (impl, 0)
     check_result (impl, s, c, exp_result);
index ece03c6d0b2c71f4d52c74377df77f6ead378e32..2372e92eaffd73b2b03b21a69d681f0e2c40146d 100644 (file)
@@ -99,7 +99,6 @@ simple_strcmp (const char *s1, const char *s2)
 
 typedef int (*proto_t) (const CHAR *, const CHAR *);
 
-IMPL (SIMPLE_STRCMP, 1)
 IMPL (STRCMP, 1)
 
 static int
index 83b77073bbf2ffa037b7d98d51d20e4eae5df9a5..7e7d10af634a8dfb0e546850f70d25a382fe4530 100644 (file)
 #  define STRCPY wcscpy
 # endif
 
-CHAR *SIMPLE_STRCPY (CHAR *, const CHAR *);
-
-IMPL (SIMPLE_STRCPY, 0)
 IMPL (STRCPY, 1)
 
+/* Naive implementation to verify results.  */
 CHAR *
 SIMPLE_STRCPY (CHAR *dst, const CHAR *src)
 {
index dd394dadc5b3dd018ccb85a5c8cb2cd73c1c1b2e..21a9cc10a6274acb5c8cc1474d557039fb67dd38 100644 (file)
@@ -37,6 +37,7 @@
 
 typedef size_t (*proto_t) (const CHAR *);
 
+/* Naive implementation to verify results.  */
 size_t
 simple_STRLEN (const CHAR *s)
 {
@@ -55,7 +56,6 @@ builtin_strlen (const CHAR *p)
 IMPL (builtin_strlen, 0)
 #endif
 
-IMPL (simple_STRLEN, 0)
 IMPL (STRLEN, 1)
 
 
index 1aebc37bb6a3aed29b6c895d900f834146b411c4..126ced9e583b5d47dea72fd891e609708459c287 100644 (file)
 
 typedef int (*proto_t) (const char *, const char *, size_t);
 static int simple_strncasecmp (const char *, const char *, size_t);
-static int stupid_strncasecmp (const char *, const char *, size_t);
 
-IMPL (stupid_strncasecmp, 0)
-IMPL (simple_strncasecmp, 0)
 IMPL (strncasecmp, 1)
 
+/* Naive implementation to verify results.  */
 static int
 simple_strncasecmp (const char *s1, const char *s2, size_t n)
 {
@@ -54,27 +52,6 @@ simple_strncasecmp (const char *s1, const char *s2, size_t n)
   return ret;
 }
 
-static int
-stupid_strncasecmp (const char *s1, const char *s2, size_t max)
-{
-  size_t ns1 = strlen (s1) + 1;
-  size_t ns2 = strlen (s2) + 1;
-  size_t n = ns1 < ns2 ? ns1 : ns2;
-  if (n > max)
-    n = max;
-  int ret = 0;
-
-  while (n--)
-    {
-      if ((ret = ((unsigned char) tolower (*s1)
-                 - (unsigned char) tolower (*s2))) != 0)
-       break;
-      ++s1;
-      ++s2;
-    }
-  return ret;
-}
-
 static int
 check_result (impl_t *impl, const char *s1, const char *s2, size_t n,
              int exp_result)
index 86ec101258f89fbb600816de206de19899c745fb..5fcaa8637c35a210186affd68df9e392bc410294 100644 (file)
@@ -28,7 +28,6 @@
 # define CHAR char
 # define UCHAR unsigned char
 # define SIMPLE_STRNCAT simple_strncat
-# define STUPID_STRNCAT stupid_strncat
 # define STRLEN strlen
 # define MEMSET memset
 # define MEMCPY memcpy
@@ -41,7 +40,6 @@
 # define CHAR wchar_t
 # define UCHAR wchar_t
 # define SIMPLE_STRNCAT simple_wcsncat
-# define STUPID_STRNCAT stupid_wcsncat
 # define STRLEN wcslen
 # define MEMSET wmemset
 # define MEMCPY wmemcpy
 #endif /* WIDE */
 
 typedef CHAR *(*proto_t) (CHAR *, const CHAR *, size_t);
-CHAR *STUPID_STRNCAT (CHAR *, const CHAR *, size_t);
-CHAR *SIMPLE_STRNCAT (CHAR *, const CHAR *, size_t);
 
-IMPL (STUPID_STRNCAT, 0)
 IMPL (STRNCAT, 2)
 
+/* Naive implementation to verify results.  */
 CHAR *
-STUPID_STRNCAT (CHAR *dst, const CHAR *src, size_t n)
+SIMPLE_STRNCAT (CHAR *dst, const CHAR *src, size_t n)
 {
   CHAR *ret = dst;
   while (*dst++ != '\0');
index 3e351425482a97751137637b4223b38f5c5042d6..693ab4d6c9555c7d9ac18f9a5db497fd2a93d369 100644 (file)
@@ -88,7 +88,6 @@ simple_strncmp (const char *s1, const char *s2, size_t n)
 
 typedef int (*proto_t) (const CHAR *, const CHAR *, size_t);
 
-IMPL (SIMPLE_STRNCMP, 0)
 IMPL (STRNCMP, 1)
 
 
index 4ae08abe4494bbac76287e5e8ba16f3de8e5e175..f1f627a0b559255c88a87638a5797a980c77fd81 100644 (file)
 # include "test-string.h"
 # ifndef WIDE
 #  define SIMPLE_STRNCPY simple_strncpy
-#  define STUPID_STRNCPY stupid_strncpy
 #  define STRNCPY strncpy
 # else
 #  define SIMPLE_STRNCPY simple_wcsncpy
-#  define STUPID_STRNCPY stupid_wcsncpy
 #  define STRNCPY wcsncpy
 # endif /* WIDE */
 
-CHAR *SIMPLE_STRNCPY (CHAR *, const CHAR *, size_t);
-CHAR *STUPID_STRNCPY (CHAR *, const CHAR *, size_t);
 
-IMPL (STUPID_STRNCPY, 0)
-IMPL (SIMPLE_STRNCPY, 0)
 IMPL (STRNCPY, 1)
 
+/* Naive implementation to verify results.  */
 CHAR *
 SIMPLE_STRNCPY (CHAR *dst, const CHAR *src, size_t n)
 {
@@ -76,18 +71,6 @@ SIMPLE_STRNCPY (CHAR *dst, const CHAR *src, size_t n)
   return ret;
 }
 
-CHAR *
-STUPID_STRNCPY (CHAR *dst, const CHAR *src, size_t n)
-{
-  size_t nc = STRNLEN (src, n);
-  size_t i;
-
-  for (i = 0; i < nc; ++i)
-    dst[i] = src[i];
-  for (; i < n; ++i)
-    dst[i] = '\0';
-  return dst;
-}
 #endif /* !STRNCPY_RESULT */
 
 typedef CHAR *(*proto_t) (CHAR *, const CHAR *, size_t);
index 726c630db28fa10d0fa82539901f56bec29274ba..83c4502b9ab2505810488a42655dd98ec2a17d17 100644 (file)
 #endif /* !WIDE */
 
 typedef size_t (*proto_t) (const CHAR *, size_t);
-size_t SIMPLE_STRNLEN (const CHAR *, size_t);
 
-IMPL (SIMPLE_STRNLEN, 0)
 IMPL (STRNLEN, 1)
 
+/* Naive implementation to verify results.  */
 size_t
 SIMPLE_STRNLEN (const CHAR *s, size_t maxlen)
 {
index 05fd81e0fc9469905c722b345cf1561d7f2e6fdc..de8dc0a9c34befd732cf198671e2c9a379918a8b 100644 (file)
 # ifndef WIDE
 #  define STRPBRK strpbrk
 #  define SIMPLE_STRPBRK simple_strpbrk
-#  define STUPID_STRPBRK stupid_strpbrk
 # else
 #  include <wchar.h>
 #  define STRPBRK wcspbrk
 #  define SIMPLE_STRPBRK simple_wcspbrk
-#  define STUPID_STRPBRK stupid_wcspbrk
 # endif /* WIDE */
 
 typedef CHAR *(*proto_t) (const CHAR *, const CHAR *);
-CHAR *SIMPLE_STRPBRK (const CHAR *, const CHAR *);
-CHAR *STUPID_STRPBRK (const CHAR *, const CHAR *);
 
-IMPL (STUPID_STRPBRK, 0)
-IMPL (SIMPLE_STRPBRK, 0)
 IMPL (STRPBRK, 1)
 
+/* Naive implementation to verify results.  */
 CHAR *
 SIMPLE_STRPBRK (const CHAR *s, const CHAR *rej)
 {
@@ -72,22 +67,10 @@ SIMPLE_STRPBRK (const CHAR *s, const CHAR *rej)
   while ((c = *s++) != '\0')
     for (r = rej; *r != '\0'; ++r)
       if (*r == c)
-       return (CHAR *) s - 1;
+       return (CHAR *) s - 1;
   return NULL;
 }
 
-CHAR *
-STUPID_STRPBRK (const CHAR *s, const CHAR *rej)
-{
-  size_t ns = STRLEN (s), nrej = STRLEN (rej);
-  size_t i, j;
-
-  for (i = 0; i < ns; ++i)
-    for (j = 0; j < nrej; ++j)
-      if (s[i] == rej[j])
-       return (CHAR *) s + i;
-  return NULL;
-}
 #endif /* !STRPBRK_RESULT */
 
 static void
index a610200c11168db66a455263eaf8ef5f969b9794..bf4decb3585ac9a8851393a9c3d03b927a2da14f 100644 (file)
 #endif
 
 typedef CHAR *(*proto_t) (const CHAR *, int);
-CHAR *SIMPLE_STRRCHR (const CHAR *, int);
 
-IMPL (SIMPLE_STRRCHR, 0)
 IMPL (STRRCHR, 1)
 
+/* Naive implementation to verify results.  */
 CHAR *
 SIMPLE_STRRCHR (const CHAR *s, int c)
 {
index 1680cb7828a54cfafe9f99320e34e54120c1f425..a9c42458fe16e4f0869ccea2cf118f665598dc9f 100644 (file)
@@ -29,7 +29,6 @@
 # define CHAR char
 # define UCHAR unsigned char
 # define SIMPLE_STRSPN simple_strspn
-# define STUPID_STRSPN stupid_strspn
 # define STRLEN strlen
 # define STRCHR strchr
 # define BIG_CHAR CHAR_MAX
@@ -40,7 +39,6 @@
 # define CHAR wchar_t
 # define UCHAR wchar_t
 # define SIMPLE_STRSPN simple_wcsspn
-# define STUPID_STRSPN stupid_wcsspn
 # define STRLEN wcslen
 # define STRCHR wcschr
 # define BIG_CHAR WCHAR_MAX
 #endif /* WIDE */
 
 typedef size_t (*proto_t) (const CHAR *, const CHAR *);
-size_t SIMPLE_STRSPN (const CHAR *, const CHAR *);
-size_t STUPID_STRSPN (const CHAR *, const CHAR *);
 
-IMPL (STUPID_STRSPN, 0)
-IMPL (SIMPLE_STRSPN, 0)
 IMPL (STRSPN, 1)
 
+/* Naive implementation to verify results.  */
 size_t
 SIMPLE_STRSPN (const CHAR *s, const CHAR *acc)
 {
@@ -72,23 +67,6 @@ SIMPLE_STRSPN (const CHAR *s, const CHAR *acc)
   return s - str - 1;
 }
 
-size_t
-STUPID_STRSPN (const CHAR *s, const CHAR *acc)
-{
-  size_t ns = STRLEN (s), nacc = STRLEN (acc);
-  size_t i, j;
-
-  for (i = 0; i < ns; ++i)
-    {
-      for (j = 0; j < nacc; ++j)
-       if (s[i] == acc[j])
-         break;
-      if (j == nacc)
-       return i;
-    }
-  return i;
-}
-
 static void
 do_one_test (impl_t *impl, const CHAR *s, const CHAR *acc, size_t exp_res)
 {
index 7f610f4cacb887ee5241ae66d833930ed1b95fc5..b1f2134360a09cf10a9c7ba29ca623cd0aa304ad 100644 (file)
 #include "test-string.h"
 
 
-#define STRSTR simple_strstr
+#define STRSTR c_strstr
 #define libc_hidden_builtin_def(arg) /* nothing */
 #define __strnlen strnlen
 #include "strstr.c"
 
-
+/* Naive implementation to verify results.  */
 static char *
-stupid_strstr (const char *s1, const char *s2)
+simple_strstr (const char *s1, const char *s2)
 {
   ssize_t s1len = strlen (s1);
   ssize_t s2len = strlen (s2);
@@ -52,8 +52,7 @@ stupid_strstr (const char *s1, const char *s2)
 
 typedef char *(*proto_t) (const char *, const char *);
 
-IMPL (stupid_strstr, 0)
-IMPL (simple_strstr, 0)
+IMPL (c_strstr, 0)
 IMPL (strstr, 1)
 
 
@@ -130,7 +129,7 @@ check1 (void)
   const char s2[] = "_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD";
   char *exp_result;
 
-  exp_result = stupid_strstr (s1, s2);
+  exp_result = simple_strstr (s1, s2);
   FOR_EACH_IMPL (impl, 0)
     check_result (impl, s1, s2, exp_result);
 }
@@ -163,7 +162,7 @@ check2 (void)
   char *s2_page_cross = (void *) buf2 + page_size_real - 8;
   strcpy (s2_page_cross, s2_stack);
 
-  exp_result = stupid_strstr (s1_stack, s2_stack);
+  exp_result = simple_strstr (s1_stack, s2_stack);
   FOR_EACH_IMPL (impl, 0)
     {
       check_result (impl, s1_stack, s2_stack, exp_result);
@@ -201,7 +200,7 @@ pr23637 (void)
   /* Ensure we don't match at the first 'x'.  */
   h[0] = 'x';
 
-  char *exp_result = stupid_strstr (h, n);
+  char *exp_result = simple_strstr (h, n);
   FOR_EACH_IMPL (impl, 0)
     check_result (impl, h, n, exp_result);
 }