diff mbox series

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

Message ID 20230201170406.303978-23-adhemerval.zanella@linaro.org
State New
Headers show
Series Improve generic string routines | expand

Commit Message

Adhemerval Zanella Netto Feb. 1, 2023, 5:03 p.m. UTC
Also remove the SIMPLE_STRNLEN, which is not used anywhere.
---
 string/test-strnlen.c | 35 ++++++++++++++++++++++++-----------
 1 file changed, 24 insertions(+), 11 deletions(-)

Comments

Richard Henderson Feb. 1, 2023, 5:54 p.m. UTC | #1
On 2/1/23 07:03, Adhemerval Zanella wrote:
> Also remove the SIMPLE_STRNLEN, which is not used anywhere.
> ---
>   string/test-strnlen.c | 35 ++++++++++++++++++++++++-----------
>   1 file changed, 24 insertions(+), 11 deletions(-)

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


r~

> 
> diff --git a/string/test-strnlen.c b/string/test-strnlen.c
> index 8b5372c3a1..ef73dd34f4 100644
> --- a/string/test-strnlen.c
> +++ b/string/test-strnlen.c
> @@ -43,17 +43,30 @@
>   
>   typedef size_t (*proto_t) (const CHAR *, size_t);
>   
> -IMPL (STRNLEN, 1)
> -
> -/* Naive implementation to verify results.  */
> -size_t
> -SIMPLE_STRNLEN (const CHAR *s, size_t maxlen)
> -{
> -  size_t i;
> -
> -  for (i = 0; i < maxlen && s[i]; ++i);
> -  return i;
> -}
> +/* Also check the default implementation.  */
> +#undef STRNLEN
> +#ifndef WIDE
> +# define MEMCHR __memchr_default
> +# define weak_alias(a, b)
> +# define libc_hidden_def(a)
> +# define libc_hidden_builtin_def(a)
> +# include "string/memchr.c"
> +# undef STRNLEN
> +# define STRNLEN __strnlen_default
> +# define memchr __memchr_default
> +# include "string/strnlen.c"
> +IMPL (__strnlen_default, 1)
> +#else
> +# define WMEMCHR __wmemchr_default
> +# define weak_alias(a, b)
> +# define libc_hidden_def(a)
> +# define libc_hidden_weak(a)
> +# include "wcsmbs/wmemchr.c"
> +# define WCSNLEN __wcsnlen_default
> +# define wmemchr __wmemchr_default
> +# include "wcsmbs/wcsnlen.c"
> +IMPL (__wcsnlen_default, 1)
> +#endif
>   
>   static void
>   do_one_test (impl_t *impl, const CHAR *s, size_t maxlen, size_t exp_len)
diff mbox series

Patch

diff --git a/string/test-strnlen.c b/string/test-strnlen.c
index 8b5372c3a1..ef73dd34f4 100644
--- a/string/test-strnlen.c
+++ b/string/test-strnlen.c
@@ -43,17 +43,30 @@ 
 
 typedef size_t (*proto_t) (const CHAR *, size_t);
 
-IMPL (STRNLEN, 1)
-
-/* Naive implementation to verify results.  */
-size_t
-SIMPLE_STRNLEN (const CHAR *s, size_t maxlen)
-{
-  size_t i;
-
-  for (i = 0; i < maxlen && s[i]; ++i);
-  return i;
-}
+/* Also check the default implementation.  */
+#undef STRNLEN
+#ifndef WIDE
+# define MEMCHR __memchr_default
+# define weak_alias(a, b)
+# define libc_hidden_def(a)
+# define libc_hidden_builtin_def(a)
+# include "string/memchr.c"
+# undef STRNLEN
+# define STRNLEN __strnlen_default
+# define memchr __memchr_default
+# include "string/strnlen.c"
+IMPL (__strnlen_default, 1)
+#else
+# define WMEMCHR __wmemchr_default
+# define weak_alias(a, b)
+# define libc_hidden_def(a)
+# define libc_hidden_weak(a)
+# include "wcsmbs/wmemchr.c"
+# define WCSNLEN __wcsnlen_default
+# define wmemchr __wmemchr_default
+# include "wcsmbs/wcsnlen.c"
+IMPL (__wcsnlen_default, 1)
+#endif
 
 static void
 do_one_test (impl_t *impl, const CHAR *s, size_t maxlen, size_t exp_len)