Hi! The utf-array.c testcase FAILs e.g. on i686-linux or powerpc-linux, the problem is that wchar_t there isn't int, but long int. grep shows that WCHAR_TYPE is one of int short int long int unsigned int short unsigned int long unsigned int depending on exact target and options.
The following patch accepts them all, ok for trunk? 2019-01-18 Jakub Jelinek <ja...@redhat.com> * gcc.dg/utf-array.c: Allow wchar_t to be printed as {long ,short ,}{unsigned ,}int. --- gcc/testsuite/gcc.dg/utf-array.c.jj 2019-01-18 00:33:20.867980701 +0100 +++ gcc/testsuite/gcc.dg/utf-array.c 2019-01-18 23:32:57.086524528 +0100 @@ -12,13 +12,13 @@ typedef __CHAR32_TYPE__ char32_t; const char s_0[] = "ab"; const char s_1[] = u"ab"; /* { dg-error "from a string literal with type array of" } */ const char s_2[] = U"ab"; /* { dg-error "from a string literal with type array of" } */ -const char s_3[] = L"ab"; /* { dg-error "from a string literal with type array of .int." } */ +const char s_3[] = L"ab"; /* { dg-error "from a string literal with type array of .(long |short )?(unsigned )?int." } */ const char s_4[] = u8"ab"; const char16_t s16_0[] = "ab"; /* { dg-error "from a string literal with type array of .char." } */ const char16_t s16_1[] = u"ab"; const char16_t s16_2[] = U"ab"; /* { dg-error "from a string literal with type array of" } */ -const char16_t s16_3[] = L"ab"; /* { dg-error "from a string literal with type array of .int." "" { target { ! wchar_t_char16_t_compatible } } } */ +const char16_t s16_3[] = L"ab"; /* { dg-error "from a string literal with type array of .(long |short )?(unsigned )?int." "" { target { ! wchar_t_char16_t_compatible } } } */ const char16_t s16_4[] = u8"ab"; /* { dg-error "from a string literal with type array of .char." } */ const char16_t s16_5[0] = u"ab"; /* { dg-warning "chars is too long" } */ @@ -30,7 +30,7 @@ const char16_t s16_9[4] = u"ab"; const char32_t s32_0[] = "ab"; /* { dg-error "from a string literal with type array of .char." } */ const char32_t s32_1[] = u"ab"; /* { dg-error "from a string literal with type array of" } */ const char32_t s32_2[] = U"ab"; -const char32_t s32_3[] = L"ab"; /* { dg-error "from a string literal with type array of .int." "" { target { ! wchar_t_char32_t_compatible } } } */ +const char32_t s32_3[] = L"ab"; /* { dg-error "from a string literal with type array of .(long |short )?(unsigned )?int." "" { target { ! wchar_t_char32_t_compatible } } } */ const char32_t s32_4[] = u8"ab"; /* { dg-error "from a string literal with type array of .char." } */ const char32_t s32_5[0] = U"ab"; /* { dg-warning "chars is too long" } */ Jakub