[PATCH v11 27/29] string: Hook up the default implementation on test-strcpy

Richard Henderson richard.henderson@linaro.org
Wed Feb 1 17:56:43 GMT 2023


On 2/1/23 07:04, Adhemerval Zanella wrote:
> ---
>   string/test-strcpy.c | 34 ++++++++++++++++++++++++----------
>   1 file changed, 24 insertions(+), 10 deletions(-)

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

r~

> 
> diff --git a/string/test-strcpy.c b/string/test-strcpy.c
> index 8183c4b7f3..3e04c754d0 100644
> --- a/string/test-strcpy.c
> +++ b/string/test-strcpy.c
> @@ -47,23 +47,37 @@
>   # endif
>   # include "test-string.h"
>   # ifndef WIDE
> -#  define SIMPLE_STRCPY simple_strcpy
>   #  define STRCPY strcpy
>   # else
> -#  define SIMPLE_STRCPY simple_wcscpy
>   #  define STRCPY wcscpy
>   # endif
>   
>   IMPL (STRCPY, 1)
>   
> -/* Naive implementation to verify results.  */
> -CHAR *
> -SIMPLE_STRCPY (CHAR *dst, const CHAR *src)
> -{
> -  CHAR *ret = dst;
> -  while ((*dst++ = *src++) != '\0');
> -  return ret;
> -}
> +/* Also check the generic implementation.  */
> +#undef STRCPY
> +#undef libc_hidden_builtin_def
> +#define libc_hidden_builtin_def(a)
> +#undef libc_hidden_def
> +#define libc_hidden_def(a)
> +#undef weak_alias
> +#define weak_alias(a,b)
> +#undef attribute_hidden
> +#define attribute_hidden
> +# ifndef WIDE
> +#  define STPCPY __stpcpy_default
> +#  include "string/stpcpy.c"
> +#  define STRCPY __strcpy_default
> +#  define __stpcpy __stpcpy_default
> +#  include "string/strcpy.c"
> +IMPL (__strcpy_default, 1)
> +# else
> +#  define __wcslen wcslen
> +#  define __wmemcpy wmemcpy
> +#  define WCSCPY __wcscpy_default
> +#  include "wcsmbs/wcscpy.c"
> +IMPL (__wcscpy_default, 1)
> +# endif
>   #endif
>   
>   typedef CHAR *(*proto_t) (CHAR *, const CHAR *);



More information about the Libc-alpha mailing list