[v11,28/29] string: Hook up the default implementation on test-memchr

Message ID 20230201170406.303978-29-adhemerval.zanella@linaro.org
State Superseded
Headers
Series Improve generic string routines |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Adhemerval Zanella Netto Feb. 1, 2023, 5:04 p.m. UTC
  And remove SIMPLE_MEMCHR, which is not used anywhere.
---
 string/test-memchr.c | 31 ++++++++++++++++++++-----------
 1 file changed, 20 insertions(+), 11 deletions(-)
  

Comments

Richard Henderson Feb. 1, 2023, 5:57 p.m. UTC | #1
On 2/1/23 07:04, Adhemerval Zanella wrote:
> And remove SIMPLE_MEMCHR, which is not used anywhere.
> ---
>   string/test-memchr.c | 31 ++++++++++++++++++++-----------
>   1 file changed, 20 insertions(+), 11 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~

> 
> diff --git a/string/test-memchr.c b/string/test-memchr.c
> index 862094ef0b..0daecab537 100644
> --- a/string/test-memchr.c
> +++ b/string/test-memchr.c
> @@ -30,7 +30,6 @@
>   # define MEMCHR memchr
>   # define CHAR char
>   # define UCHAR unsigned char
> -# define SIMPLE_MEMCHR simple_memchr
>   # define BIG_CHAR CHAR_MAX
>   # define SMALL_CHAR 127
>   #else
> @@ -38,7 +37,6 @@
>   # define MEMCHR wmemchr
>   # define CHAR wchar_t
>   # define UCHAR wchar_t
> -# define SIMPLE_MEMCHR simple_wmemchr
>   # define BIG_CHAR WCHAR_MAX
>   # define SMALL_CHAR 1273
>   #endif /* WIDE */
> @@ -47,15 +45,26 @@ typedef CHAR *(*proto_t) (const CHAR *, int, size_t);
>   
>   IMPL (MEMCHR, 1)
>   
> -/* Naive implementation to verify results.  */
> -CHAR *
> -SIMPLE_MEMCHR (const CHAR *s, int c, size_t n)
> -{
> -  while (n--)
> -    if (*s++ == (CHAR) c)
> -      return (CHAR *) s - 1;
> -  return NULL;
> -}
> +/* Also check the generic implementation.  */
> +#undef MEMCHR
> +#undef weak_alias
> +#define weak_alias(a, b)
> +#undef libc_hidden_builtin_def
> +#define libc_hidden_builtin_def(a)
> +#undef libc_hidden_def
> +#define libc_hidden_def(a)
> +#undef libc_hidden_weak
> +#define libc_hidden_weak(a)
> +#ifndef WIDE
> +# define MEMCHR __memchr_default
> +# include "string/memchr.c"
> +# define MEMCHR_DEFAULT MEMCHR
> +#else
> +# define WMEMCHR __wmemchr_default
> +# include "wcsmbs/wmemchr.c"
> +# define MEMCHR_DEFAULT WMEMCHR
> +#endif
> +IMPL (MEMCHR_DEFAULT, 1)
>   
>   static void
>   do_one_test (impl_t *impl, const CHAR *s, int c, size_t n, CHAR *exp_res)
  

Patch

diff --git a/string/test-memchr.c b/string/test-memchr.c
index 862094ef0b..0daecab537 100644
--- a/string/test-memchr.c
+++ b/string/test-memchr.c
@@ -30,7 +30,6 @@ 
 # define MEMCHR memchr
 # define CHAR char
 # define UCHAR unsigned char
-# define SIMPLE_MEMCHR simple_memchr
 # define BIG_CHAR CHAR_MAX
 # define SMALL_CHAR 127
 #else
@@ -38,7 +37,6 @@ 
 # define MEMCHR wmemchr
 # define CHAR wchar_t
 # define UCHAR wchar_t
-# define SIMPLE_MEMCHR simple_wmemchr
 # define BIG_CHAR WCHAR_MAX
 # define SMALL_CHAR 1273
 #endif /* WIDE */
@@ -47,15 +45,26 @@  typedef CHAR *(*proto_t) (const CHAR *, int, size_t);
 
 IMPL (MEMCHR, 1)
 
-/* Naive implementation to verify results.  */
-CHAR *
-SIMPLE_MEMCHR (const CHAR *s, int c, size_t n)
-{
-  while (n--)
-    if (*s++ == (CHAR) c)
-      return (CHAR *) s - 1;
-  return NULL;
-}
+/* Also check the generic implementation.  */
+#undef MEMCHR
+#undef weak_alias
+#define weak_alias(a, b)
+#undef libc_hidden_builtin_def
+#define libc_hidden_builtin_def(a)
+#undef libc_hidden_def
+#define libc_hidden_def(a)
+#undef libc_hidden_weak
+#define libc_hidden_weak(a)
+#ifndef WIDE
+# define MEMCHR __memchr_default
+# include "string/memchr.c"
+# define MEMCHR_DEFAULT MEMCHR
+#else
+# define WMEMCHR __wmemchr_default
+# include "wcsmbs/wmemchr.c"
+# define MEMCHR_DEFAULT WMEMCHR
+#endif
+IMPL (MEMCHR_DEFAULT, 1)
 
 static void
 do_one_test (impl_t *impl, const CHAR *s, int c, size_t n, CHAR *exp_res)