diff mbox series

[v12,31/31] string: Hook up the default implementation on test-strrchr

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

Commit Message

Adhemerval Zanella Feb. 2, 2023, 6:11 p.m. UTC
And remove SIMPLE_STRRCHR, which is not used anywhere.
---
 string/test-strrchr.c | 38 ++++++++++++++++++++++++--------------
 1 file changed, 24 insertions(+), 14 deletions(-)

Comments

Richard Henderson Feb. 3, 2023, 1:55 a.m. UTC | #1
On 2/2/23 08:11, Adhemerval Zanella wrote:
> And remove SIMPLE_STRRCHR, which is not used anywhere.
> ---
>   string/test-strrchr.c | 38 ++++++++++++++++++++++++--------------
>   1 file changed, 24 insertions(+), 14 deletions(-)

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

r~
diff mbox series

Patch

diff --git a/string/test-strrchr.c b/string/test-strrchr.c
index 2cd5de42cd..c979574c92 100644
--- a/string/test-strrchr.c
+++ b/string/test-strrchr.c
@@ -26,14 +26,12 @@ 
 
 #ifdef WIDE
 # include <wchar.h>
-# define SIMPLE_STRRCHR simple_wcsrchr
 # define STRRCHR wcsrchr
 # define CHAR wchar_t
 # define UCHAR wchar_t
 # define BIG_CHAR WCHAR_MAX
 # define SMALL_CHAR 1273
 #else
-# define SIMPLE_STRRCHR simple_strrchr
 # define STRRCHR strrchr
 # define CHAR char
 # define UCHAR unsigned char
@@ -45,18 +43,30 @@  typedef CHAR *(*proto_t) (const CHAR *, int);
 
 IMPL (STRRCHR, 1)
 
-/* Naive implementation to verify results.  */
-CHAR *
-SIMPLE_STRRCHR (const CHAR *s, int c)
-{
-  const CHAR *ret = NULL;
-
-  for (; *s != '\0'; ++s)
-    if (*s == (CHAR) c)
-      ret = s;
-
-  return (CHAR *) (c == '\0' ? s : ret);
-}
+/* Also check the generic implementation.  */
+#undef STRRCHR
+#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 STRLEN __strlen_default
+# include "string/strlen.c"
+# define MEMRCHR __memrchr_default
+# include "string/memrchr.c"
+# define STRRCHR __strrchr_default
+# include "string/strrchr.c"
+# define STRRCHR_DEFAULT __strrchr_default
+#else
+# define WCSRCHR __wcsrchr_default
+# include "wcsmbs/wcsrchr.c"
+# define STRRCHR_DEFAULT __wcsrchr_default
+#endif
+IMPL (STRRCHR_DEFAULT, 1)
 
 static void
 do_one_test (impl_t *impl, const CHAR *s, int c, CHAR *exp_res)