Message ID | alpine.DEB.2.10.1411260017030.17237@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
On 26 November 2014 at 00:17, Joseph Myers <joseph@codesourcery.com> wrote: > string/test-strchr.c is used for both wide and narrow string testing, > but produces a series of warnings for wide string testing because of > hardcoded use of narrow characters in the function check1. This patch > fixes that function to use macros abstracting away the wide / narrow > string choice, adding a new such macro to handle the string and > character constants. > > Tested for x86_64. > > 2014-11-26 Joseph Myers <joseph@codesourcery.com> > > * string/test-strchr.c [!WIDE] (L): New macro. > [WIDE] (L): Likewise. > (check1): Use CHAR instead of char. Use L on string and character > constants. Looks ok to me. > diff --git a/string/test-strchr.c b/string/test-strchr.c > index 12cd9d8..fe2dfd2 100644 > --- a/string/test-strchr.c > +++ b/string/test-strchr.c > @@ -44,6 +44,7 @@ > # define MIDDLE_CHAR 127 > # define SMALL_CHAR 23 > # define UCHAR unsigned char > +# define L(s) s > #else > # include <wchar.h> > # define STRCHR wcschr > @@ -53,6 +54,7 @@ > # define MIDDLE_CHAR 1121 > # define SMALL_CHAR 851 > # define UCHAR wchar_t > +# define L(s) L ## s > #endif > > #ifdef USE_FOR_STRCHRNUL > @@ -219,9 +221,9 @@ do_random_tests (void) > static void > check1 (void) > { > - char s[] __attribute__((aligned(16))) = "\xff"; > - char c = '\xfe'; > - char *exp_result = stupid_STRCHR (s, c); > + CHAR s[] __attribute__((aligned(16))) = L ("\xff"); > + CHAR c = L ('\xfe'); > + CHAR *exp_result = stupid_STRCHR (s, c); > > FOR_EACH_IMPL (impl, 0) > check_result (impl, s, c, exp_result); > > -- > Joseph S. Myers > joseph@codesourcery.com
Joseph Myers <joseph@codesourcery.com> writes: > * string/test-strchr.c [!WIDE] (L): New macro. > [WIDE] (L): Likewise. > (check1): Use CHAR instead of char. Use L on string and character > constants. Ok. Andreas.
diff --git a/string/test-strchr.c b/string/test-strchr.c index 12cd9d8..fe2dfd2 100644 --- a/string/test-strchr.c +++ b/string/test-strchr.c @@ -44,6 +44,7 @@ # define MIDDLE_CHAR 127 # define SMALL_CHAR 23 # define UCHAR unsigned char +# define L(s) s #else # include <wchar.h> # define STRCHR wcschr @@ -53,6 +54,7 @@ # define MIDDLE_CHAR 1121 # define SMALL_CHAR 851 # define UCHAR wchar_t +# define L(s) L ## s #endif #ifdef USE_FOR_STRCHRNUL @@ -219,9 +221,9 @@ do_random_tests (void) static void check1 (void) { - char s[] __attribute__((aligned(16))) = "\xff"; - char c = '\xfe'; - char *exp_result = stupid_STRCHR (s, c); + CHAR s[] __attribute__((aligned(16))) = L ("\xff"); + CHAR c = L ('\xfe'); + CHAR *exp_result = stupid_STRCHR (s, c); FOR_EACH_IMPL (impl, 0) check_result (impl, s, c, exp_result);