about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-01-03 22:32:41 +0000
committerUlrich Drepper <drepper@redhat.com>2003-01-03 22:32:41 +0000
commit1cb990bc19634ef22fc1e02377089d3e80a8e48f (patch)
tree248b628b2c5b6ab372e94e784687fc091ab6180a
parent733f25e6d34d8ced182ffd6366d7914d56e71d98 (diff)
downloadglibc-1cb990bc19634ef22fc1e02377089d3e80a8e48f.tar.gz
glibc-1cb990bc19634ef22fc1e02377089d3e80a8e48f.tar.xz
glibc-1cb990bc19634ef22fc1e02377089d3e80a8e48f.zip
Update.
2003-01-03  Andreas Jaeger  <aj@suse.de>, Jakub Jelinek <jakub@redhat.com>

	* resolv/res_libc.c: Provide declaration for __res_init_weak and
	reorder declarations.

2003-01-03  Art Haas  <ahaas@airmail.net>

	* localedata/tests-mbwc/dat_iswalnum.c: Convert GCC extension
	initiailzer syntax to C99.
	* localedata/tests-mbwc/dat_iswalpha.c: Likewise.
	* localedata/tests-mbwc/dat_iswcntrl.c: Likewise.
	* localedata/tests-mbwc/dat_iswctype.c: Likewise.
	* localedata/tests-mbwc/dat_iswdigit.c: Likewise.
	* localedata/tests-mbwc/dat_iswgraph.c: Likewise.
	* localedata/tests-mbwc/dat_iswlower.c: Likewise.
	* localedata/tests-mbwc/dat_iswprint.c: Likewise.
	* localedata/tests-mbwc/dat_iswpunct.c: Likewise.
	* localedata/tests-mbwc/dat_iswspace.c: Likewise.
	* localedata/tests-mbwc/dat_iswupper.c: Likewise.
	* localedata/tests-mbwc/dat_iswxdigit.c: Likewise.
	* localedata/tests-mbwc/dat_mblen.c: Likewise.
	* localedata/tests-mbwc/dat_mbrlen.c: Likewise.
	* localedata/tests-mbwc/dat_mbrtowc.c: Likewise.
	* localedata/tests-mbwc/dat_mbsrtowcs.c: Likewise.
	* localedata/tests-mbwc/dat_mbstowcs.c: Likewise.
	* localedata/tests-mbwc/dat_mbtowc.c: Likewise.
	* localedata/tests-mbwc/dat_strcoll.c: Likewise.
	* localedata/tests-mbwc/dat_strfmon.c: Likewise.
	* localedata/tests-mbwc/dat_strxfrm.c: Likewise.
	* localedata/tests-mbwc/dat_swscanf.c: Likewise.
	* localedata/tests-mbwc/dat_towctrans.c: Likewise.
	* localedata/tests-mbwc/dat_towlower.c: Likewise.
	* localedata/tests-mbwc/dat_towupper.c: Likewise.
	* localedata/tests-mbwc/dat_wcrtomb.c: Likewise.
	* localedata/tests-mbwc/dat_wcscat.c: Likewise.
	* localedata/tests-mbwc/dat_wcschr.c: Likewise.
	* localedata/tests-mbwc/dat_wcscmp.c: Likewise.
	* localedata/tests-mbwc/dat_wcscoll.c: Likewise.
	* localedata/tests-mbwc/dat_wcscpy.c: Likewise.
	* localedata/tests-mbwc/dat_wcscspn.c: Likewise.
	* localedata/tests-mbwc/dat_wcslen.c: Likewise.
	* localedata/tests-mbwc/dat_wcsncat.c: Likewise.
	* localedata/tests-mbwc/dat_wcsncmp.c: Likewise.
	* localedata/tests-mbwc/dat_wcsncpy.c: Likewise.
	* localedata/tests-mbwc/dat_wcspbrk.c: Likewise.
	* localedata/tests-mbwc/dat_wcsrtombs.c: Likewise.
	* localedata/tests-mbwc/dat_wcsspn.c: Likewise.
	* localedata/tests-mbwc/dat_wcsstr.c: Likewise.
	* localedata/tests-mbwc/dat_wcstod.c: Likewise.
	* localedata/tests-mbwc/dat_wcstok.c: Likewise.
	* localedata/tests-mbwc/dat_wcstombs.c: Likewise.
	* localedata/tests-mbwc/dat_wcswidth.c: Likewise.
	* localedata/tests-mbwc/dat_wcsxfrm.c: Likewise.
	* localedata/tests-mbwc/dat_wctob.c: Likewise.
	* localedata/tests-mbwc/dat_wctomb.c: Likewise.
	* localedata/tests-mbwc/dat_wctrans.c: Likewise.
	* localedata/tests-mbwc/dat_wctype.c: Likewise.
	* localedata/tests-mbwc/dat_wcwidth.c: Likewise.

2003-01-03  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall_r0_asm): New.
	(inline_syscall_r0_constraint): New.
	(inline_syscall[0-6]): Use them.
-rw-r--r--ChangeLog65
-rw-r--r--linuxthreads/ChangeLog4
-rw-r--r--linuxthreads/sysdeps/pthread/bits/libc-tsd.h6
-rw-r--r--localedata/tests-mbwc/dat_iswalnum.c8
-rw-r--r--localedata/tests-mbwc/dat_iswalpha.c6
-rw-r--r--localedata/tests-mbwc/dat_iswcntrl.c6
-rw-r--r--localedata/tests-mbwc/dat_iswctype.c6
-rw-r--r--localedata/tests-mbwc/dat_iswdigit.c6
-rw-r--r--localedata/tests-mbwc/dat_iswgraph.c6
-rw-r--r--localedata/tests-mbwc/dat_iswlower.c6
-rw-r--r--localedata/tests-mbwc/dat_iswprint.c6
-rw-r--r--localedata/tests-mbwc/dat_iswpunct.c6
-rw-r--r--localedata/tests-mbwc/dat_iswspace.c6
-rw-r--r--localedata/tests-mbwc/dat_iswupper.c6
-rw-r--r--localedata/tests-mbwc/dat_iswxdigit.c6
-rw-r--r--localedata/tests-mbwc/dat_mblen.c6
-rw-r--r--localedata/tests-mbwc/dat_mbrlen.c6
-rw-r--r--localedata/tests-mbwc/dat_mbrtowc.c6
-rw-r--r--localedata/tests-mbwc/dat_mbsrtowcs.c6
-rw-r--r--localedata/tests-mbwc/dat_mbstowcs.c6
-rw-r--r--localedata/tests-mbwc/dat_mbtowc.c6
-rw-r--r--localedata/tests-mbwc/dat_strcoll.c6
-rw-r--r--localedata/tests-mbwc/dat_strfmon.c6
-rw-r--r--localedata/tests-mbwc/dat_strxfrm.c6
-rw-r--r--localedata/tests-mbwc/dat_swscanf.c6
-rw-r--r--localedata/tests-mbwc/dat_towctrans.c8
-rw-r--r--localedata/tests-mbwc/dat_towlower.c6
-rw-r--r--localedata/tests-mbwc/dat_towupper.c6
-rw-r--r--localedata/tests-mbwc/dat_wcrtomb.c6
-rw-r--r--localedata/tests-mbwc/dat_wcscat.c6
-rw-r--r--localedata/tests-mbwc/dat_wcschr.c6
-rw-r--r--localedata/tests-mbwc/dat_wcscmp.c6
-rw-r--r--localedata/tests-mbwc/dat_wcscoll.c6
-rw-r--r--localedata/tests-mbwc/dat_wcscpy.c6
-rw-r--r--localedata/tests-mbwc/dat_wcscspn.c6
-rw-r--r--localedata/tests-mbwc/dat_wcslen.c6
-rw-r--r--localedata/tests-mbwc/dat_wcsncat.c6
-rw-r--r--localedata/tests-mbwc/dat_wcsncmp.c6
-rw-r--r--localedata/tests-mbwc/dat_wcsncpy.c6
-rw-r--r--localedata/tests-mbwc/dat_wcspbrk.c6
-rw-r--r--localedata/tests-mbwc/dat_wcsrtombs.c6
-rw-r--r--localedata/tests-mbwc/dat_wcsspn.c6
-rw-r--r--localedata/tests-mbwc/dat_wcsstr.c6
-rw-r--r--localedata/tests-mbwc/dat_wcstod.c6
-rw-r--r--localedata/tests-mbwc/dat_wcstok.c6
-rw-r--r--localedata/tests-mbwc/dat_wcstombs.c6
-rw-r--r--localedata/tests-mbwc/dat_wcswidth.c6
-rw-r--r--localedata/tests-mbwc/dat_wcsxfrm.c6
-rw-r--r--localedata/tests-mbwc/dat_wctob.c6
-rw-r--r--localedata/tests-mbwc/dat_wctomb.c6
-rw-r--r--localedata/tests-mbwc/dat_wctrans.c6
-rw-r--r--localedata/tests-mbwc/dat_wctype.c6
-rw-r--r--localedata/tests-mbwc/dat_wcwidth.c6
-rw-r--r--nptl/old_pthread_cond_broadcast.c2
-rw-r--r--nptl/old_pthread_cond_signal.c2
-rw-r--r--nptl/old_pthread_cond_timedwait.c2
-rw-r--r--nptl/old_pthread_cond_wait.c2
-rw-r--r--resolv/res_libc.c3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sysdep.h110
59 files changed, 298 insertions, 202 deletions
diff --git a/ChangeLog b/ChangeLog
index 36ee420152..cbad30e672 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,68 @@
+2003-01-03  Andreas Jaeger  <aj@suse.de>, Jakub Jelinek <jakub@redhat.com>
+
+	* resolv/res_libc.c: Provide declaration for __res_init_weak and
+	reorder declarations.
+
+2003-01-03  Art Haas  <ahaas@airmail.net>
+
+	* localedata/tests-mbwc/dat_iswalnum.c: Convert GCC extension
+	initiailzer syntax to C99.
+	* localedata/tests-mbwc/dat_iswalpha.c: Likewise.
+	* localedata/tests-mbwc/dat_iswcntrl.c: Likewise.
+	* localedata/tests-mbwc/dat_iswctype.c: Likewise.
+	* localedata/tests-mbwc/dat_iswdigit.c: Likewise.
+	* localedata/tests-mbwc/dat_iswgraph.c: Likewise.
+	* localedata/tests-mbwc/dat_iswlower.c: Likewise.
+	* localedata/tests-mbwc/dat_iswprint.c: Likewise.
+	* localedata/tests-mbwc/dat_iswpunct.c: Likewise.
+	* localedata/tests-mbwc/dat_iswspace.c: Likewise.
+	* localedata/tests-mbwc/dat_iswupper.c: Likewise.
+	* localedata/tests-mbwc/dat_iswxdigit.c: Likewise.
+	* localedata/tests-mbwc/dat_mblen.c: Likewise.
+	* localedata/tests-mbwc/dat_mbrlen.c: Likewise.
+	* localedata/tests-mbwc/dat_mbrtowc.c: Likewise.
+	* localedata/tests-mbwc/dat_mbsrtowcs.c: Likewise.
+	* localedata/tests-mbwc/dat_mbstowcs.c: Likewise.
+	* localedata/tests-mbwc/dat_mbtowc.c: Likewise.
+	* localedata/tests-mbwc/dat_strcoll.c: Likewise.
+	* localedata/tests-mbwc/dat_strfmon.c: Likewise.
+	* localedata/tests-mbwc/dat_strxfrm.c: Likewise.
+	* localedata/tests-mbwc/dat_swscanf.c: Likewise.
+	* localedata/tests-mbwc/dat_towctrans.c: Likewise.
+	* localedata/tests-mbwc/dat_towlower.c: Likewise.
+	* localedata/tests-mbwc/dat_towupper.c: Likewise.
+	* localedata/tests-mbwc/dat_wcrtomb.c: Likewise.
+	* localedata/tests-mbwc/dat_wcscat.c: Likewise.
+	* localedata/tests-mbwc/dat_wcschr.c: Likewise.
+	* localedata/tests-mbwc/dat_wcscmp.c: Likewise.
+	* localedata/tests-mbwc/dat_wcscoll.c: Likewise.
+	* localedata/tests-mbwc/dat_wcscpy.c: Likewise.
+	* localedata/tests-mbwc/dat_wcscspn.c: Likewise.
+	* localedata/tests-mbwc/dat_wcslen.c: Likewise.
+	* localedata/tests-mbwc/dat_wcsncat.c: Likewise.
+	* localedata/tests-mbwc/dat_wcsncmp.c: Likewise.
+	* localedata/tests-mbwc/dat_wcsncpy.c: Likewise.
+	* localedata/tests-mbwc/dat_wcspbrk.c: Likewise.
+	* localedata/tests-mbwc/dat_wcsrtombs.c: Likewise.
+	* localedata/tests-mbwc/dat_wcsspn.c: Likewise.
+	* localedata/tests-mbwc/dat_wcsstr.c: Likewise.
+	* localedata/tests-mbwc/dat_wcstod.c: Likewise.
+	* localedata/tests-mbwc/dat_wcstok.c: Likewise.
+	* localedata/tests-mbwc/dat_wcstombs.c: Likewise.
+	* localedata/tests-mbwc/dat_wcswidth.c: Likewise.
+	* localedata/tests-mbwc/dat_wcsxfrm.c: Likewise.
+	* localedata/tests-mbwc/dat_wctob.c: Likewise.
+	* localedata/tests-mbwc/dat_wctomb.c: Likewise.
+	* localedata/tests-mbwc/dat_wctrans.c: Likewise.
+	* localedata/tests-mbwc/dat_wctype.c: Likewise.
+	* localedata/tests-mbwc/dat_wcwidth.c: Likewise.
+
+2003-01-03  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall_r0_asm): New.
+	(inline_syscall_r0_constraint): New.
+	(inline_syscall[0-6]): Use them.
+
 2003-01-03  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/generic/ldsodefs.h (_dl_allocate_tls, _dl_deallocate_tls):
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 175f7437e1..0779f6df5a 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,7 @@
+2003-01-03  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/pthread/bits/libc-tsd.h: Declare weak_extern functions.
+
 2003-01-03  Jakub Jelinek  <jakub@redhat.com>
 
 	* Makefile ($(objpfx)libpthread.so): Depend on ld.so.
diff --git a/linuxthreads/sysdeps/pthread/bits/libc-tsd.h b/linuxthreads/sysdeps/pthread/bits/libc-tsd.h
index 04cf7c1a6c..fa6eb4be28 100644
--- a/linuxthreads/sysdeps/pthread/bits/libc-tsd.h
+++ b/linuxthreads/sysdeps/pthread/bits/libc-tsd.h
@@ -1,5 +1,5 @@
 /* libc-internal interface for thread-specific data.  LinuxThreads version.
-   Copyright (C) 1997,98,99,2001,02 Free Software Foundation, Inc.
+   Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -33,6 +33,10 @@
 # include <bits/libc-lock.h>
 
 # ifndef SHARED
+extern void ** __pthread_internal_tsd_address (int);
+extern void *__pthread_internal_tsd_get (int);
+extern int __pthread_internal_tsd_set (int, const void *);
+
 weak_extern (__pthread_internal_tsd_address)
 weak_extern (__pthread_internal_tsd_get)
 weak_extern (__pthread_internal_tsd_set)
diff --git a/localedata/tests-mbwc/dat_iswalnum.c b/localedata/tests-mbwc/dat_iswalnum.c
index 54522efe64..a0b457d52f 100644
--- a/localedata/tests-mbwc/dat_iswalnum.c
+++ b/localedata/tests-mbwc/dat_iswalnum.c
@@ -40,7 +40,7 @@ TST_ISW_LOC (ALNUM, alnum) = {
 	  {  { 0x00F7 }, { 0,1,0 }  },  /* division */
 	  {  { 0x00F8 }, { 0,0,0 }  },  /* o stroke */
 	  {  { 0x00FF }, { 0,0,0 }  },  /* y dia    */
-	  {  is_last: 1 }		  /* last element    */
+	  {  .is_last = 1 }		  /* last element    */
 	}
     },
     {	TST_ISW_REC (de_UTF8, alnum)
@@ -71,7 +71,7 @@ TST_ISW_LOC (ALNUM, alnum) = {
 	  {  { 0x00F7 }, { 0,1,0 }  },  /* division */
 	  {  { 0x00F8 }, { 0,0,0 }  },  /* o stroke */
 	  {  { 0x00FF }, { 0,0,0 }  },  /* y dia    */
-	  {  is_last: 1 }		  /* last element    */
+	  {  .is_last = 1 }		  /* last element    */
 	}
     },
     {	TST_ISW_REC (enUS, alnum)
@@ -96,7 +96,7 @@ TST_ISW_LOC (ALNUM, alnum) = {
 	  {  { 0x007E }, { 0,1,0 }  },
 	  {  { 0x007F }, { 0,1,0 }  },
 	  {  { 0x0080 }, { 0,1,0 }  },
-	  {  is_last: 1 }		  /* last element    */
+	  {  .is_last = 1 }		  /* last element    */
 	}
     },
     {	TST_ISW_REC (eucJP, alnum)
@@ -185,7 +185,7 @@ TST_ISW_LOC (ALNUM, alnum) = {
 	  {  { 0xFF71 }, { 0,0,0 }  },  /* HALF KATA A		*/
 	  {  { 0xFF9E }, { 0,0,0 }  },  /* HALF KATA MI		*/
 #endif
-	  {  is_last: 1 }		  /* last element    */
+	  {  .is_last = 1 }		  /* last element    */
 	}
     },
     {	TST_ISW_REC (end, alnum) }
diff --git a/localedata/tests-mbwc/dat_iswalpha.c b/localedata/tests-mbwc/dat_iswalpha.c
index 4db02360b5..a1fa1d6bfc 100644
--- a/localedata/tests-mbwc/dat_iswalpha.c
+++ b/localedata/tests-mbwc/dat_iswalpha.c
@@ -40,7 +40,7 @@ TST_ISW_LOC (ALPHA, alpha)  = {
 	  {  { 0x00F7 }, { 0,1,0 }  },  /* division */
 	  {  { 0x00F8 }, { 0,0,0 }  },  /* o stroke */
 	  {  { 0x00FF }, { 0,0,0 }  },  /* y dia    */
-	  {  is_last: 1 }		  /* last element    */
+	  {  .is_last = 1 }		  /* last element    */
 	}
     },
     {	TST_ISW_REC (enUS, alpha)
@@ -65,7 +65,7 @@ TST_ISW_LOC (ALPHA, alpha)  = {
 	  {  { 0x007E }, { 0,1,0 }  },
 	  {  { 0x007F }, { 0,1,0 }  },
 	  {  { 0x0080 }, { 0,1,0 }  },  /* 20 */
-	  {  is_last: 1 }		  /* last element    */
+	  {  .is_last = 1 }		  /* last element    */
 	}
     },
     {	TST_ISW_REC (eucJP, alpha)
@@ -158,7 +158,7 @@ TST_ISW_LOC (ALPHA, alpha)  = {
 	  {  { 0xFF71 }, { 0,0,0 }  },  /* HALF KATA A		*/
 	  {  { 0xFF9E }, { 0,0,0 }  },  /* HALF KATA MI		*/
 #endif
-	  {  is_last: 1 }		  /* last element    */
+	  {  .is_last = 1 }		  /* last element    */
 	}
     },
     {	TST_ISW_REC (end, alpha) }
diff --git a/localedata/tests-mbwc/dat_iswcntrl.c b/localedata/tests-mbwc/dat_iswcntrl.c
index 18a0e287e5..5161807dff 100644
--- a/localedata/tests-mbwc/dat_iswcntrl.c
+++ b/localedata/tests-mbwc/dat_iswcntrl.c
@@ -40,7 +40,7 @@ TST_ISW_LOC (CNTRL, cntrl) = {
 	  {  { 0x00F7 }, { 0,1,0 }  },  /* division */
 	  {  { 0x00F8 }, { 0,1,0 }  },  /* o stroke */
 	  {  { 0x00FF }, { 0,1,0 }  },  /* y dia    */
-	  { is_last: 1 }		  /* Last element.  */
+	  { .is_last = 1 }		  /* Last element.  */
 	}
     },
     {	TST_ISW_REC (enUS, cntrl)
@@ -65,7 +65,7 @@ TST_ISW_LOC (CNTRL, cntrl) = {
 	  {  { 0x007E }, { 0,1,0 }  },
 	  {  { 0x007F }, { 0,0,0 }  },
 	  {  { 0x0080 }, { 0,0,0 }  },
-	  { is_last: 1 }		  /* Last element.  */
+	  { .is_last = 1 }		  /* Last element.  */
 	}
     },
     {	TST_ISW_REC (eucJP, cntrl)
@@ -114,7 +114,7 @@ TST_ISW_LOC (CNTRL, cntrl) = {
 	  {  { 0xFF70 }, { 0,1,0 }  },  /* HALF KATA PL -	*/
 	  {  { 0xFF71 }, { 0,1,0 }  },  /* HALF KATA A	*/
 	  {  { 0xFF9E }, { 0,1,0 }  },  /* HALF KATA MI	*/
-	  { is_last: 1 }		  /* Last element.  */
+	  { .is_last = 1 }		  /* Last element.  */
 	}
     },
     {	TST_ISW_REC(end, cntrl) }
diff --git a/localedata/tests-mbwc/dat_iswctype.c b/localedata/tests-mbwc/dat_iswctype.c
index c184d4a148..38d692954f 100644
--- a/localedata/tests-mbwc/dat_iswctype.c
+++ b/localedata/tests-mbwc/dat_iswctype.c
@@ -174,7 +174,7 @@ TST_ISWCTYPE tst_iswctype_loc [] = {
       {	 { 0x00FF, "upper"  }, { 0,1,0 }  },	   /* y dia    */
       {	 { 0x00B9, "xdigit" }, { 0,1,0 }  },	   /* SUP 1    */
       {	 { 0x00BC, "xdigit" }, { 0,1,0 }  },	   /* 1/4      */
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -383,7 +383,7 @@ TST_ISWCTYPE tst_iswctype_loc [] = {
       {	 { 0x007F, "xdigit" }, { 0,1,0 }  },
       {	 { 0x0080, "xdigit" }, { 0,1,0 }  },
       {	 { 0x0061, "xxxxxx" }, { 0,1,0 }  },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -651,7 +651,7 @@ TST_ISWCTYPE tst_iswctype_loc [] = {
       {	 { 0x4E06, "jkanji" }, { 0,1,0 }  },	   /* CJK UNI.IDEO.NON-J */
 #endif
       {	 { 0x4E07, "jkanji" }, { 0,0,0 }  },	   /* CJK UNI.IDEO.	 */
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_iswdigit.c b/localedata/tests-mbwc/dat_iswdigit.c
index 6cece4f8c9..c3318fe28d 100644
--- a/localedata/tests-mbwc/dat_iswdigit.c
+++ b/localedata/tests-mbwc/dat_iswdigit.c
@@ -40,7 +40,7 @@ TST_ISW_LOC (DIGIT, digit) = {
 	{  { 0x00F7 }, { 0,1,0 }  },	/* division */
 	{  { 0x00F8 }, { 0,1,0 }  },	/* o stroke */
 	{  { 0x00FF }, { 0,1,0 }  },	/* y dia    */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (enUS, digit)
@@ -65,7 +65,7 @@ TST_ISW_LOC (DIGIT, digit) = {
 	{  { 0x007E }, { 0,1,0 }  },
 	{  { 0x007F }, { 0,1,0 }  },
 	{  { 0x0080 }, { 0,1,0 }  },
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (eucJP, digit)
@@ -114,7 +114,7 @@ TST_ISW_LOC (DIGIT, digit) = {
 	{  { 0xFF70 }, { 0,1,0 }  },	/* HALF KATA PL -     */
 	{  { 0xFF71 }, { 0,1,0 }  },	/* HALF KATA A	      */
 	{  { 0xFF9E }, { 0,1,0 }  },	/* HALF KATA MI	      */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (end, digit) }
diff --git a/localedata/tests-mbwc/dat_iswgraph.c b/localedata/tests-mbwc/dat_iswgraph.c
index f1f71b913a..f94cec709a 100644
--- a/localedata/tests-mbwc/dat_iswgraph.c
+++ b/localedata/tests-mbwc/dat_iswgraph.c
@@ -44,7 +44,7 @@ TST_ISW_LOC (GRAPH, graph) = {
 	{  { 0x00F7 }, { 0,0,0 }  },	/* division */
 	{  { 0x00F8 }, { 0,0,0 }  },	/* o stroke */
 	{  { 0x00FF }, { 0,0,0 }  },	/* y dia    */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (enUS, graph)
@@ -69,7 +69,7 @@ TST_ISW_LOC (GRAPH, graph) = {
 	{  { 0x007E }, { 0,0,0 }  },
 	{  { 0x007F }, { 0,1,0 }  },
 	{  { 0x0080 }, { 0,1,0 }  }, /* 20 */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC( eucJP, graph )
@@ -156,7 +156,7 @@ TST_ISW_LOC (GRAPH, graph) = {
 	{  { 0xFF70 }, { 0,0,0 }  },	/* HALF KATA PL -     */
 	{  { 0xFF71 }, { 0,0,0 }  },	/* HALF KATA A	      */
 	{  { 0xFF9E }, { 0,0,0 }  },	/* HALF KATA MI	      */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (end, graph) }
diff --git a/localedata/tests-mbwc/dat_iswlower.c b/localedata/tests-mbwc/dat_iswlower.c
index 23f767a88d..20b2a2a48e 100644
--- a/localedata/tests-mbwc/dat_iswlower.c
+++ b/localedata/tests-mbwc/dat_iswlower.c
@@ -40,7 +40,7 @@ TST_ISW_LOC (LOWER, lower) = {
 	{  { 0x00F7 }, { 0,1,0 }  },	/* division */
 	{  { 0x00F8 }, { 0,0,0 }  },	/* o stroke */
 	{  { 0x00FF }, { 0,0,0 }  },	/* y dia    */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (enUS, lower)
@@ -65,7 +65,7 @@ TST_ISW_LOC (LOWER, lower) = {
 	{  { 0x007E }, { 0,1,0 }  },
 	{  { 0x007F }, { 0,1,0 }  },
 	{  { 0x0080 }, { 0,1,0 }  },
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (eucJP, lower)
@@ -84,7 +84,7 @@ TST_ISW_LOC (LOWER, lower) = {
 	{  { 0xFF6F }, { 0,1,0 }  },	/* HALF KATA tu	      */
 	{  { 0xFF71 }, { 0,1,0 }  },	/* HALF KATA A	      */
 	{  { 0xFF9E }, { 0,1,0 }  },	/* HALF KATA MI	      */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (end, lower) }
diff --git a/localedata/tests-mbwc/dat_iswprint.c b/localedata/tests-mbwc/dat_iswprint.c
index 788d18f70e..57acc7184c 100644
--- a/localedata/tests-mbwc/dat_iswprint.c
+++ b/localedata/tests-mbwc/dat_iswprint.c
@@ -44,7 +44,7 @@ TST_ISW_LOC (PRINT, print) = {
 	{  { 0x00F7 }, { 0,0,0 }  },  /* division */
 	{  { 0x00F8 }, { 0,0,0 }  },  /* o stroke */
 	{  { 0x00FF }, { 0,0,0 }  },  /* y dia    */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (enUS, print)
@@ -72,7 +72,7 @@ TST_ISW_LOC (PRINT, print) = {
 #ifdef NO_WAIVER
 	{  { 0x3042 }, { 0,1,0 }  }, /* <WAIVER> */
 #endif
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (eucJP, print)
@@ -159,7 +159,7 @@ TST_ISW_LOC (PRINT, print) = {
 	{  { 0xFF70 }, { 0,0,0 }  },  /* HALF KATA PL -     */
 	{  { 0xFF71 }, { 0,0,0 }  },  /* HALF KATA A        */
 	{  { 0xFF9E }, { 0,0,0 }  },  /* HALF KATA MI       */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (end, print) }
diff --git a/localedata/tests-mbwc/dat_iswpunct.c b/localedata/tests-mbwc/dat_iswpunct.c
index 3c9d1fcecd..b31e1bd50f 100644
--- a/localedata/tests-mbwc/dat_iswpunct.c
+++ b/localedata/tests-mbwc/dat_iswpunct.c
@@ -44,7 +44,7 @@ TST_ISW_LOC (PUNCT, punct) = {
 	{  { 0x00F7 }, { 0,0,0 }  },	/* division */
 	{  { 0x00F8 }, { 0,1,0 }  },	/* o stroke */
 	{  { 0x00FF }, { 0,1,0 }  },	/* y dia    */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (enUS, punct)
@@ -69,7 +69,7 @@ TST_ISW_LOC (PUNCT, punct) = {
 	{  { 0x007E }, { 0,0,0 }  },
 	{  { 0x007F }, { 0,1,0 }  },
 	{  { 0x0080 }, { 0,1,0 }  }, /* 20 */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (eucJP, punct)
@@ -144,7 +144,7 @@ TST_ISW_LOC (PUNCT, punct) = {
 	{  { 0xFF70 }, { 0,1,0 }  },	/* HALF KATA PL -     */
 	{  { 0xFF71 }, { 0,1,0 }  },	/* HALF KATA A	      */
 	{  { 0xFF9E }, { 0,1,0 }  },	/* HALF KATA MI	      */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (end, punct) }
diff --git a/localedata/tests-mbwc/dat_iswspace.c b/localedata/tests-mbwc/dat_iswspace.c
index f5a803d858..885664bc04 100644
--- a/localedata/tests-mbwc/dat_iswspace.c
+++ b/localedata/tests-mbwc/dat_iswspace.c
@@ -40,7 +40,7 @@ TST_ISW_LOC (SPACE, space) = {
 	{  { 0x00F7 }, { 0,1,0 }  },	/* division */
 	{  { 0x00F8 }, { 0,1,0 }  },	/* o stroke */
 	{  { 0x00FF }, { 0,1,0 }  },	/* y dia    */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (enUS, space)
@@ -69,7 +69,7 @@ TST_ISW_LOC (SPACE, space) = {
 	{  { 0x007E }, { 0,1,0 }  },
 	{  { 0x007F }, { 0,1,0 }  },
 	{  { 0x0080 }, { 0,1,0 }  },
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (eucJP, space)
@@ -118,7 +118,7 @@ TST_ISW_LOC (SPACE, space) = {
 	{  { 0xFF70 }, { 0,1,0 }  },	/* HALF KATA PL -     */
 	{  { 0xFF71 }, { 0,1,0 }  },	/* HALF KATA A	      */
 	{  { 0xFF9E }, { 0,1,0 }  },	/* HALF KATA MI	      */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (end, space) }
diff --git a/localedata/tests-mbwc/dat_iswupper.c b/localedata/tests-mbwc/dat_iswupper.c
index 72b6755ef2..4c732f7651 100644
--- a/localedata/tests-mbwc/dat_iswupper.c
+++ b/localedata/tests-mbwc/dat_iswupper.c
@@ -40,7 +40,7 @@ TST_ISW_LOC (UPPER, upper) = {
 	{  { 0x00F7 }, { 0,1,0 }  },	/* division */
 	{  { 0x00F8 }, { 0,1,0 }  },	/* o stroke */
 	{  { 0x00FF }, { 0,1,0 }  },	/* y dia    */
-	{ is_last: 1 }			/* Last entry.	*/
+	{ .is_last = 1 }		/* Last entry.	*/
       }
   },
   {   TST_ISW_REC (enUS, upper)
@@ -65,7 +65,7 @@ TST_ISW_LOC (UPPER, upper) = {
 	{  { 0x007E }, { 0,1,0 }  },
 	{  { 0x007F }, { 0,1,0 }  },
 	{  { 0x0080 }, { 0,1,0 }  },
-	{ is_last: 1 }		  /* Last entry.  */
+	{ .is_last = 1 }		/* Last entry.  */
       }
   },
   {   TST_ISW_REC (eucJP, upper)
@@ -83,7 +83,7 @@ TST_ISW_LOC (UPPER, upper) = {
 	{  { 0xFF6F }, { 0,1,0 }  },	/* HALF KATA tu	      */
 	{  { 0xFF71 }, { 0,1,0 }  },	/* HALF KATA A	      */
 	{  { 0xFF9E }, { 0,1,0 }  },	/* HALF KATA MI	      */
-	{ is_last: 1 }			/* Last entry.	*/
+	{ .is_last = 1 }		/* Last entry.	*/
       }
   },
   {   TST_ISW_REC (end, upper) }
diff --git a/localedata/tests-mbwc/dat_iswxdigit.c b/localedata/tests-mbwc/dat_iswxdigit.c
index ca118e1bc4..65afbc1193 100644
--- a/localedata/tests-mbwc/dat_iswxdigit.c
+++ b/localedata/tests-mbwc/dat_iswxdigit.c
@@ -40,7 +40,7 @@ TST_ISW_LOC (XDIGIT, xdigit) = {
 	{  { 0x00F7 }, { 0,1,0 }  },	/* division */
 	{  { 0x00F8 }, { 0,1,0 }  },	/* o stroke */
 	{  { 0x00FF }, { 0,1,0 }  },	/* y dia    */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC( enUS, xdigit )
@@ -65,7 +65,7 @@ TST_ISW_LOC (XDIGIT, xdigit) = {
 	{  { 0x007E }, { 0,1,0 }  },
 	{  { 0x007F }, { 0,1,0 }  },
 	{  { 0x0080 }, { 0,1,0 }  },
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC( eucJP, xdigit )
@@ -114,7 +114,7 @@ TST_ISW_LOC (XDIGIT, xdigit) = {
 	{  { 0xFF70 }, { 0,1,0 }  },	/* HALF KATA PL -     */
 	{  { 0xFF71 }, { 0,1,0 }  },	/* HALF KATA A	      */
 	{  { 0xFF9E }, { 0,1,0 }  },	/* HALF KATA MI	      */
-	{ is_last: 1 }			/* Last element.  */
+	{ .is_last = 1 }		/* Last element.  */
       }
   },
   {   TST_ISW_REC (end, xdigit) }
diff --git a/localedata/tests-mbwc/dat_mblen.c b/localedata/tests-mbwc/dat_mblen.c
index ce47c2e402..507ab8f35c 100644
--- a/localedata/tests-mbwc/dat_mblen.c
+++ b/localedata/tests-mbwc/dat_mblen.c
@@ -68,7 +68,7 @@ TST_MBLEN tst_mblen_loc [] = {
       /* 06: a null pointer.  */
       {	 { 0, "",	   USE_MBCURMAX }, { 0,	0,  0 }	 },
       /* Last element.	*/
-      {	 is_last: 1 }
+      {	 .is_last = 1 }
     }
   },
   {
@@ -87,7 +87,7 @@ TST_MBLEN tst_mblen_loc [] = {
       /* 06: a null pointer.  */	     
       {	 { 0, "",	   USE_MBCURMAX }, { 0,	0,  0 }	 },
       /* Last element.	*/
-      {	 is_last: 1 }
+      {	 .is_last = 1 }
     }
   },
   {
@@ -106,7 +106,7 @@ TST_MBLEN tst_mblen_loc [] = {
       /* 06: a null pointer.  */	     
       {	 { 0, "",	   USE_MBCURMAX }, { 0,	0,  0 }	 },
       /* Last element.	*/
-      {	 is_last: 1 }
+      {	 .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_mbrlen.c b/localedata/tests-mbwc/dat_mbrlen.c
index 3d396c9ea5..a21ab762a8 100644
--- a/localedata/tests-mbwc/dat_mbrlen.c
+++ b/localedata/tests-mbwc/dat_mbrlen.c
@@ -52,7 +52,7 @@ TST_MBRLEN tst_mbrlen_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -90,7 +90,7 @@ TST_MBRLEN tst_mbrlen_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -150,7 +150,7 @@ TST_MBRLEN tst_mbrlen_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_mbrtowc.c b/localedata/tests-mbwc/dat_mbrtowc.c
index 375ae17682..b8eb3dd210 100644
--- a/localedata/tests-mbwc/dat_mbrtowc.c
+++ b/localedata/tests-mbwc/dat_mbrtowc.c
@@ -52,7 +52,7 @@ TST_MBRTOWC tst_mbrtowc_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
 #if 0
@@ -92,7 +92,7 @@ TST_MBRTOWC tst_mbrtowc_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -130,7 +130,7 @@ TST_MBRTOWC tst_mbrtowc_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
 #endif
diff --git a/localedata/tests-mbwc/dat_mbsrtowcs.c b/localedata/tests-mbwc/dat_mbsrtowcs.c
index 654f309cbb..e1ee1819a8 100644
--- a/localedata/tests-mbwc/dat_mbsrtowcs.c
+++ b/localedata/tests-mbwc/dat_mbsrtowcs.c
@@ -45,7 +45,7 @@ TST_MBSRTOWCS tst_mbsrtowcs_loc [] = {
 	}
       },
       { /*----------------- END -----------------*/
-	is_last: 1
+	.is_last = 1
       }
     }
   },
@@ -86,7 +86,7 @@ TST_MBSRTOWCS tst_mbsrtowcs_loc [] = {
 	}
       },
       { /*----------------- END -----------------*/
-	is_last: 1
+	.is_last = 1
       }
     }
   },
@@ -127,7 +127,7 @@ TST_MBSRTOWCS tst_mbsrtowcs_loc [] = {
 	}
       },
       { /*----------------- END -----------------*/
-	is_last: 1
+	.is_last = 1
       }
     }
   },
diff --git a/localedata/tests-mbwc/dat_mbstowcs.c b/localedata/tests-mbwc/dat_mbstowcs.c
index 855cca50bb..cabe4cdf24 100644
--- a/localedata/tests-mbwc/dat_mbstowcs.c
+++ b/localedata/tests-mbwc/dat_mbstowcs.c
@@ -44,7 +44,7 @@ TST_MBSTOWCS tst_mbstowcs_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -82,7 +82,7 @@ TST_MBSTOWCS tst_mbstowcs_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -130,7 +130,7 @@ TST_MBSTOWCS tst_mbstowcs_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_mbtowc.c b/localedata/tests-mbwc/dat_mbtowc.c
index 084087f398..5168ed184d 100644
--- a/localedata/tests-mbwc/dat_mbtowc.c
+++ b/localedata/tests-mbwc/dat_mbtowc.c
@@ -146,7 +146,7 @@ TST_MBTOWC tst_mbtowc_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -232,7 +232,7 @@ TST_MBTOWC tst_mbtowc_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -332,7 +332,7 @@ TST_MBTOWC tst_mbtowc_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_strcoll.c b/localedata/tests-mbwc/dat_strcoll.c
index 4afd719e29..168425ce06 100644
--- a/localedata/tests-mbwc/dat_strcoll.c
+++ b/localedata/tests-mbwc/dat_strcoll.c
@@ -54,7 +54,7 @@ TST_STRCOLL tst_strcoll_loc [] = {
       { /*input.*/ { "B",	"ä"		      },  /* #9 */
 	/*expect*/ { 0,0,+1,			      },
       },
-      { is_last: 1 } /* Last element.  */
+      { .is_last = 1 } /* Last element.  */
     }
   },
   {
@@ -109,7 +109,7 @@ TST_STRCOLL tst_strcoll_loc [] = {
 	/*expect*/ { EINVAL,0,0,		      },
       },
 #endif
-      { is_last: 1 } /* Last element.  */
+      { .is_last = 1 } /* Last element.  */
     }
   },
   {
@@ -153,7 +153,7 @@ TST_STRCOLL tst_strcoll_loc [] = {
 	/*expect*/ { EINVAL,0,0,		      },
       },
 #endif
-      { is_last: 1 } /* Last element.  */
+      { .is_last = 1 } /* Last element.  */
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_strfmon.c b/localedata/tests-mbwc/dat_strfmon.c
index d06169814f..76c756374e 100644
--- a/localedata/tests-mbwc/dat_strfmon.c
+++ b/localedata/tests-mbwc/dat_strfmon.c
@@ -93,7 +93,7 @@ TST_STRFMON tst_strfmon_loc [] = {
 	/*inp*/ { 33, "%(#5n|%!(#5i",	-1234.561			},
 	/*exp*/ { 0,1,27,		     "( 1.234,56 EUR)|( 1.234,56)"},
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -174,7 +174,7 @@ TST_STRFMON tst_strfmon_loc [] = {
 	/*inp*/ { 32, "%(#5n|%!(#5i",	-1234.561			},
 	/*exp*/ { 0,1,24,		     "($ 1,234.56)|( 1,234.56)"	},
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -255,7 +255,7 @@ TST_STRFMON tst_strfmon_loc [] = {
 	/*inp*/ { 32, "%(#5n|%!(#5i",	-1234.561			   },
 	/*exp*/ { 0,1,19,		 "(\241\357 1,235)|( 1,235)"	   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_strxfrm.c b/localedata/tests-mbwc/dat_strxfrm.c
index 0005f73e46..2642be4a66 100644
--- a/localedata/tests-mbwc/dat_strxfrm.c
+++ b/localedata/tests-mbwc/dat_strxfrm.c
@@ -50,7 +50,7 @@ TST_STRXFRM tst_strxfrm_loc [] = {
 	/*inp*/ { "abc", "\244\241\244\242",  13,  9 },	 /* #07 */
 	/*exp*/ { 0,0,0,		       },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -81,7 +81,7 @@ TST_STRXFRM tst_strxfrm_loc [] = {
 	/*exp*/ { EINVAL,0,0,		       },
       },
 #endif
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -108,7 +108,7 @@ TST_STRXFRM tst_strxfrm_loc [] = {
 	/*exp*/ { EINVAL,0,0,		       },
       },
 #endif
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_swscanf.c b/localedata/tests-mbwc/dat_swscanf.c
index 96f6c67c0b..08fd2d508c 100644
--- a/localedata/tests-mbwc/dat_swscanf.c
+++ b/localedata/tests-mbwc/dat_swscanf.c
@@ -71,7 +71,7 @@ TST_SWSCANF tst_swscanf_loc [] =
 	},
       },
       /*---------------------------------------------------*/
-      { is_last: 1}	/* Last element.  */
+      { .is_last = 1}	/* Last element.  */
     }
   },
   {
@@ -112,7 +112,7 @@ TST_SWSCANF tst_swscanf_loc [] =
 	},
       },
       /*---------------------------------------------------*/
-      { is_last: 1}	/* Last element.  */
+      { .is_last = 1}	/* Last element.  */
     }
   },
   {
@@ -172,7 +172,7 @@ TST_SWSCANF tst_swscanf_loc [] =
       },
 #endif
       /*---------------------------------------------------*/
-      { is_last: 1}	/* Last element.  */
+      { .is_last = 1}	/* Last element.  */
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_towctrans.c b/localedata/tests-mbwc/dat_towctrans.c
index 9b632c4d20..6816af9c03 100644
--- a/localedata/tests-mbwc/dat_towctrans.c
+++ b/localedata/tests-mbwc/dat_towctrans.c
@@ -46,7 +46,7 @@ TST_TOWCTRANS tst_towctrans_loc [] = {
       {	 { 0x007F, "tolower" }, { 0,	   1,0x007F }  },
       {	 { 0x0061, "toupper" }, { 0,	   1,0x0041 }  },
       {	 { 0x0041, "tolower" }, { 0,	   1,0x0061 }  },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -60,7 +60,7 @@ TST_TOWCTRANS tst_towctrans_loc [] = {
       {	 { 0x0080, "tolower" }, { 0,	   1,0x0080 }  },
       {	 { 0x00EC, "toupper" }, { 0,	   1,0x00CC }  },
       {	 { 0x00CC, "tolower" }, { 0,	   1,0x00EC }  },
-      { is_last: 1 }		  
+      { .is_last = 1 }		  
     }				  
   },				  
   {				  
@@ -74,7 +74,7 @@ TST_TOWCTRANS tst_towctrans_loc [] = {
       {	 { 0x007F, "tolower" }, { 0,	   1,0x007F }  },
       {	 { 0x0061, "toupper" }, { 0,	   1,0x0041 }  },
       {	 { 0x0041, "tolower" }, { 0,	   1,0x0061 }  },
-      { is_last: 1 }		  
+      { .is_last = 1 }		  
     }				  
   },				  
   {				  
@@ -84,7 +84,7 @@ TST_TOWCTRANS tst_towctrans_loc [] = {
       {	 { 0xFF41, "toupper" }, { 0,	   1,0xFF21 }  },
       {	 { 0x30A1, "tojhira" }, { 0,	   1,0x3041 }  },
       {	 { 0x3041, "tojkata" }, { 0,	   1,0x30A1 }  },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_towlower.c b/localedata/tests-mbwc/dat_towlower.c
index bc80941979..5074749e79 100644
--- a/localedata/tests-mbwc/dat_towlower.c
+++ b/localedata/tests-mbwc/dat_towlower.c
@@ -18,7 +18,7 @@ TST_TOW_LOC (LOWER, lower) = {
 	{  { 0x0080 }, { 0,  1, 0x0080     }	},
 	{  { 0x00CC }, { 0,  1, 0x00EC     }	},
 	{  { 0x00EC }, { 0,  1, 0x00EC     }	},
-	{ is_last: 1 } /* Last element.	 */
+	{ .is_last = 1 } /* Last element.	 */
       }
   },
   {   TST_TOW_REC (enUS, lower)
@@ -27,7 +27,7 @@ TST_TOW_LOC (LOWER, lower) = {
 	{  { 0x007F }, { 0,  1, 0x007F     }	},
 	{  { 0x0041 }, { 0,  1, 0x0061     }	},
 	{  { 0x0061 }, { 0,  1, 0x0061     }	},
-	{ is_last: 1 } /* Last element.	 */
+	{ .is_last = 1 } /* Last element.	 */
       }
   },
   {   TST_TOW_REC (eucJP, lower)
@@ -36,7 +36,7 @@ TST_TOW_LOC (LOWER, lower) = {
 	{  { 0x0080 }, { 0,  1, 0x0080     }	},
 	{  { 0xFF21 }, { 0,  1, 0xFF41     }	},
 	{  { 0xFF41 }, { 0,  1, 0xFF41     }	},
-	{ is_last: 1 } /* Last element.	 */
+	{ .is_last = 1 } /* Last element.	 */
       }
   },
   {   TST_TOW_REC (end, lower) }
diff --git a/localedata/tests-mbwc/dat_towupper.c b/localedata/tests-mbwc/dat_towupper.c
index ef706a84ad..5d971f3f0d 100644
--- a/localedata/tests-mbwc/dat_towupper.c
+++ b/localedata/tests-mbwc/dat_towupper.c
@@ -18,7 +18,7 @@ TST_TOW_LOC (UPPER, upper) = {
 	{  { 0x0080 }, { 0,  1, 0x0080     }	},
 	{  { 0x00EC }, { 0,  1, 0x00CC     }	},
 	{  { 0x00CC }, { 0,  1, 0x00CC     }	},
-	{ is_last: 1 } /* Last element.	 */
+	{ .is_last = 1 } /* Last element.	 */
       }
   },
   {   TST_TOW_REC (enUS, upper)
@@ -27,7 +27,7 @@ TST_TOW_LOC (UPPER, upper) = {
 	{  { 0x0080 }, { 0,  1, 0x0080     }	},
 	{  { 0x0041 }, { 0,  1, 0x0041     }	},
 	{  { 0x0061 }, { 0,  1, 0x0041     }	},
-	{ is_last: 1 } /* Last element.	 */
+	{ .is_last = 1 } /* Last element.	 */
       }
   },
   {   TST_TOW_REC (eucJP, upper)
@@ -36,7 +36,7 @@ TST_TOW_LOC (UPPER, upper) = {
 	{  { 0x007F }, { 0,  1, 0x007F     }	},
 	{  { 0xFF41 }, { 0,  1, 0xFF21     }	},
 	{  { 0xFF21 }, { 0,  1, 0xFF21     }	},
-	{ is_last: 1 } /* Last element.	 */
+	{ .is_last = 1 } /* Last element.	 */
       }
   },
   {   TST_TOW_REC (end, upper) }
diff --git a/localedata/tests-mbwc/dat_wcrtomb.c b/localedata/tests-mbwc/dat_wcrtomb.c
index e256363111..8500f68443 100644
--- a/localedata/tests-mbwc/dat_wcrtomb.c
+++ b/localedata/tests-mbwc/dat_wcrtomb.c
@@ -31,7 +31,7 @@ TST_WCRTOMB tst_wcrtomb_loc [] = {
       { /*input.*/ { 0,		 0x0092,   0,0 },
 	/*expect*/ { 0,	   1,1,	 ""	       },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -58,7 +58,7 @@ TST_WCRTOMB tst_wcrtomb_loc [] = {
       { /*input.*/ { 0,		 0x0092,   0,0 },
 	/*expect*/ { 0,	   1,1,	 ""	       },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -84,7 +84,7 @@ TST_WCRTOMB tst_wcrtomb_loc [] = {
       { /*input.*/ { 0,		 0x008E,   0,0 },
 	/*expect*/ { 0,	   0,0,	 ""	       },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcscat.c b/localedata/tests-mbwc/dat_wcscat.c
index 652504647b..449f4b575d 100644
--- a/localedata/tests-mbwc/dat_wcscat.c
+++ b/localedata/tests-mbwc/dat_wcscat.c
@@ -43,7 +43,7 @@ TST_WCSCAT tst_wcscat_loc [] = {
        {   0,	0,    0,
 	   { 0x0001,0xFFFF,0x0080,0x0090,0x0000 }	},
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
@@ -73,7 +73,7 @@ TST_WCSCAT tst_wcscat_loc [] = {
        {   0,	  0,	0,
 	   { 0x0001,0xFFFF,0x0080,0x0090,0x0000 }  },
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
@@ -103,7 +103,7 @@ TST_WCSCAT tst_wcscat_loc [] = {
        {   0,	0,    0,
 	   { 0x0001,0xFFFF,0x0080,0x0090,0x0000 }	},
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcschr.c b/localedata/tests-mbwc/dat_wcschr.c
index 78eea8dd83..3e256f7551 100644
--- a/localedata/tests-mbwc/dat_wcschr.c
+++ b/localedata/tests-mbwc/dat_wcschr.c
@@ -31,7 +31,7 @@ TST_WCSCHR tst_wcschr_loc [] = {
 	  { /*input.*/ { { 0x0000,0x00C2,0x00C3,0x0000 }, 0x0000 },  /* #7 */
 	    /*expect*/ { 0,0,0 },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcschr, TST_LOC_enUS },
@@ -57,7 +57,7 @@ TST_WCSCHR tst_wcschr_loc [] = {
 	  { /*input.*/ { { 0x0000,0x0042,0x0043,0x0000 }, 0x0000 },  /* #7 */
 	    /*expect*/ { 0,0,0 },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcschr, TST_LOC_eucJP },
@@ -83,7 +83,7 @@ TST_WCSCHR tst_wcschr_loc [] = {
 	  { /*input.*/ { { 0x0000,0x3042,0x3043,0x0000 }, 0x0000 },  /* #7 */
 	    /*expect*/ { 0,0,0 },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcschr, TST_LOC_end } }
diff --git a/localedata/tests-mbwc/dat_wcscmp.c b/localedata/tests-mbwc/dat_wcscmp.c
index d479ab49f3..a7be0fe75e 100644
--- a/localedata/tests-mbwc/dat_wcscmp.c
+++ b/localedata/tests-mbwc/dat_wcscmp.c
@@ -48,7 +48,7 @@ TST_WCSCMP tst_wcscmp_loc [] = {
 		     { 0x00D1,0x00D2,0x0000	       }, },  /* #8 */
 	/*expect*/ { 0,1,1,			  },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -86,7 +86,7 @@ TST_WCSCMP tst_wcscmp_loc [] = {
 		     { 0x0041,0x0042,0x0000	       }, },  /* #8 */
 	/*expect*/ { 0,1,1,			  },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -124,7 +124,7 @@ TST_WCSCMP tst_wcscmp_loc [] = {
 		     { 0x3041,0x3042,0x0000	       }, },  /* #8 */
 	/*expect*/ { 0,1,1,			  },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcscoll.c b/localedata/tests-mbwc/dat_wcscoll.c
index a9ef9abc9e..cfc3f85c90 100644
--- a/localedata/tests-mbwc/dat_wcscoll.c
+++ b/localedata/tests-mbwc/dat_wcscoll.c
@@ -83,7 +83,7 @@ TST_WCSCOLL tst_wcscoll_loc [] = {
 			 { 0x00E1,0x0092,0x00E9,0x0000 }, },  /* #10 */
 	    /*expect*/ { 0,0,0, -1,		       },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcscoll, TST_LOC_enUS },
@@ -154,7 +154,7 @@ TST_WCSCOLL tst_wcscoll_loc [] = {
 	    /*expect*/ { 0,0,0, 0,		       },
 	  },
 #endif
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcscoll, TST_LOC_eucJP },
@@ -199,7 +199,7 @@ TST_WCSCOLL tst_wcscoll_loc [] = {
 			 { 0x30FF,0x3092,0x3049,0x0000 }, },  /* #10 */
 	    /*expect*/ { 0,0,0, +1,		       },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcscoll, TST_LOC_end } }
diff --git a/localedata/tests-mbwc/dat_wcscpy.c b/localedata/tests-mbwc/dat_wcscpy.c
index 8ae2f1f685..9313659f48 100644
--- a/localedata/tests-mbwc/dat_wcscpy.c
+++ b/localedata/tests-mbwc/dat_wcscpy.c
@@ -14,7 +14,7 @@ TST_WCSCPY tst_wcscpy_loc [] = {
 	      {	 0,0,0,   { 0x00F1,0x00F2,0x00F3,0x0000, }  }, },
 	    { {		  { 0x0000,0x00F2,0x00F3,0x0000	 }, },	   /* 2 */
 	      {	 0,0,0,   { 0x0000,			 }  }, },
-	    { is_last: 1 }
+	    { .is_last = 1 }
 	}
     },
     {	{ Twcscpy, TST_LOC_enUS },
@@ -23,7 +23,7 @@ TST_WCSCPY tst_wcscpy_loc [] = {
 	      {	 0,0,0,   { 0x0041,0x0082,0x0043,0x0000, }  }, },
 	    { {		  { 0x0000,0x0082,0x0043,0x0000	 }, },	   /* 2 */
 	      {	 0,0,0,   { 0x0000,			 }  }, },
-	    { is_last: 1 }
+	    { .is_last = 1 }
 	}
     },
     {	{ Twcscpy, TST_LOC_eucJP },
@@ -32,7 +32,7 @@ TST_WCSCPY tst_wcscpy_loc [] = {
 	      {	 0,0,0,   { 0x3041,0x0092,0x3043,0x0000, }  }, },
 	    { {		  { 0x0000,0x0092,0x3043,0x0000	 }, },	   /* 2 */
 	      {	 0,0,0,   { 0x0000,			 }  }, },
-	    { is_last: 1 }
+	    { .is_last = 1 }
 	}
     },
     {	{ Twcscpy, TST_LOC_end }}
diff --git a/localedata/tests-mbwc/dat_wcscspn.c b/localedata/tests-mbwc/dat_wcscspn.c
index ba166f66e1..a7abf406a7 100644
--- a/localedata/tests-mbwc/dat_wcscspn.c
+++ b/localedata/tests-mbwc/dat_wcscspn.c
@@ -55,7 +55,7 @@ TST_WCSCSPN tst_wcscspn_loc [] = {
 			 { 0x00D1,0x00D3,0x00D4,0x0000 }, },  /* #11 */
 	    /*expect*/ { 0,1,0,			  },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcscspn, TST_LOC_enUS },
@@ -104,7 +104,7 @@ TST_WCSCSPN tst_wcscspn_loc [] = {
 			 { 0x0041,0x0043,0x0044,0x0000 }, },  /* #11 */
 	    /*expect*/ { 0,1,0,			  },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcscspn, TST_LOC_eucJP },
@@ -153,7 +153,7 @@ TST_WCSCSPN tst_wcscspn_loc [] = {
 			 { 0x3041,0x3043,0x3044,0x0000 }, },  /* #11 */
 	    /*expect*/ { 0,1,0,			  },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twcscspn, TST_LOC_end }}
diff --git a/localedata/tests-mbwc/dat_wcslen.c b/localedata/tests-mbwc/dat_wcslen.c
index a4c76b9601..1bc5900a74 100644
--- a/localedata/tests-mbwc/dat_wcslen.c
+++ b/localedata/tests-mbwc/dat_wcslen.c
@@ -29,7 +29,7 @@ TST_WCSLEN tst_wcslen_loc [] = {
 	{ /*input.*/ { { 0x0000 }                      },  /* #02 */
 	  /*expect*/ { 0,1,0,                        },
 	},
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
   },
   {   { Twcslen, TST_LOC_enUS },
@@ -40,7 +40,7 @@ TST_WCSLEN tst_wcslen_loc [] = {
 	{ /*input.*/ { { 0x0000 }                      },  /* #02 */
 	  /*expect*/ { 0,1,0,                        },
 	},
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
   },
   {   { Twcslen, TST_LOC_eucJP },
@@ -51,7 +51,7 @@ TST_WCSLEN tst_wcslen_loc [] = {
 	{ /*input.*/ { { 0x0000 }                      },  /* #02 */
 	  /*expect*/ { 0,1,0,                        },
 	},
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
   },
   {   { Twcslen, TST_LOC_end }}
diff --git a/localedata/tests-mbwc/dat_wcsncat.c b/localedata/tests-mbwc/dat_wcsncat.c
index f9adf9820f..948d80ce9f 100644
--- a/localedata/tests-mbwc/dat_wcsncat.c
+++ b/localedata/tests-mbwc/dat_wcsncat.c
@@ -58,7 +58,7 @@ TST_WCSNCAT tst_wcsncat_loc [] = {
        {   0,    0,    0,
 	   { 0x00E1,0x00E2,0x0000		}    },
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
@@ -103,7 +103,7 @@ TST_WCSNCAT tst_wcsncat_loc [] = {
        {   0,    0,    0,
 	   { 0x0051,0x0052,0x0000		}    },
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
@@ -145,7 +145,7 @@ TST_WCSNCAT tst_wcsncat_loc [] = {
        {   0,    0,    0,
 	   { 0x3051,0x3052,0x0000		}    },
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcsncmp.c b/localedata/tests-mbwc/dat_wcsncmp.c
index 1d5d248e1d..167ce48a7f 100644
--- a/localedata/tests-mbwc/dat_wcsncmp.c
+++ b/localedata/tests-mbwc/dat_wcsncmp.c
@@ -47,7 +47,7 @@ TST_WCSNCMP tst_wcsncmp_loc [] = {
 		     { 0x00D1,0x00D2,0x0000	   }, 4 },  /* #09 */
 	/*expect*/ { 0,1,0x00D3,			},
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -89,7 +89,7 @@ TST_WCSNCMP tst_wcsncmp_loc [] = {
 		     { 0x0041,0x0042,0x0000	   }, 4 },  /* #09 */
 	/*expect*/ { 0,1,0x0043,			},
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -131,7 +131,7 @@ TST_WCSNCMP tst_wcsncmp_loc [] = {
 		     { 0x3041,0x3042,0x0000	   }, 4 },  /* #09 */
 	/*expect*/ { 0,1,0x3043,			},
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcsncpy.c b/localedata/tests-mbwc/dat_wcsncpy.c
index 9677a519c8..38f34f13f7 100644
--- a/localedata/tests-mbwc/dat_wcsncpy.c
+++ b/localedata/tests-mbwc/dat_wcsncpy.c
@@ -46,7 +46,7 @@ TST_WCSNCPY tst_wcsncpy_loc [] = {
       {{           { 0x0000,0x00D2,0x00D3,0x0000                      }, 3 },
        {    0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 }    },
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
@@ -76,7 +76,7 @@ TST_WCSNCPY tst_wcsncpy_loc [] = {
       {{           { 0x0000,0x0042,0x0043,0x0000                      }, 3 },
        {    0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 }    },
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
@@ -106,7 +106,7 @@ TST_WCSNCPY tst_wcsncpy_loc [] = {
       {{           { 0x0000,0x3042,0x3043,0x0000                      }, 3 },
        {    0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 }    },
       },
-      {is_last: 1}
+      {.is_last = 1}
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcspbrk.c b/localedata/tests-mbwc/dat_wcspbrk.c
index 355313aae6..a7f8f6e1cf 100644
--- a/localedata/tests-mbwc/dat_wcspbrk.c
+++ b/localedata/tests-mbwc/dat_wcspbrk.c
@@ -63,7 +63,7 @@ TST_WCSPBRK tst_wcspbrk_loc [] = {
 		     { 0x0000			   }, },  /* #11 */
 	/*expect*/ { 0,1,(wchar_t *)NULL, 0x0000    },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -113,7 +113,7 @@ TST_WCSPBRK tst_wcspbrk_loc [] = {
 		     { 0x0000			   }, },  /* #11 */
 	/*expect*/ { 0,1,(wchar_t *)NULL, 0x0000    },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -163,7 +163,7 @@ TST_WCSPBRK tst_wcspbrk_loc [] = {
 		     { 0x0000			   }, },  /* #11 */
 	/*expect*/ { 0,1,(wchar_t *)NULL, 0x0000    },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcsrtombs.c b/localedata/tests-mbwc/dat_wcsrtombs.c
index c3812cafee..d3148b2a55 100644
--- a/localedata/tests-mbwc/dat_wcsrtombs.c
+++ b/localedata/tests-mbwc/dat_wcsrtombs.c
@@ -75,7 +75,7 @@ TST_WCSRTOMBS tst_wcsrtombs_loc [] = {
       { /*input.*/ { 0,1,	{ 0x0000 },			 5, 0, 0 },
 	/*expect*/ { 0,1,0,	 ""					 },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -136,7 +136,7 @@ TST_WCSRTOMBS tst_wcsrtombs_loc [] = {
       { /*input.*/ { 0,1,	{ 0x0000 },			 5, 0, 0 },
 	/*expect*/ { 0,1,0,	 ""					 },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -198,7 +198,7 @@ TST_WCSRTOMBS tst_wcsrtombs_loc [] = {
       { /*input.*/ { 0,1,	{ 0x0000 },			 5, 0, 0 },
 	/*expect*/ { 0,1,0,	 ""					 },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcsspn.c b/localedata/tests-mbwc/dat_wcsspn.c
index 6a99262db6..138279b38c 100644
--- a/localedata/tests-mbwc/dat_wcsspn.c
+++ b/localedata/tests-mbwc/dat_wcsspn.c
@@ -58,7 +58,7 @@ TST_WCSSPN tst_wcsspn_loc [] = {
 		       { 0x00D2,0x00D1,0x0000	     }, },  /* #12 */
 	  /*expect*/ { 0,1,2,				},
 	},
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
     },
     {
@@ -112,7 +112,7 @@ TST_WCSSPN tst_wcsspn_loc [] = {
 		       { 0x0042,0x0041,0x0000	     }, },  /* #12 */
 	  /*expect*/ { 0,1,2,				},
 	},
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
     },
     {
@@ -166,7 +166,7 @@ TST_WCSSPN tst_wcsspn_loc [] = {
 		       { 0x3042,0x3041,0x0000	     }, },  /* #12 */
 	  /*expect*/ { 0,1,2,				},
 	},
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
     },
     {
diff --git a/localedata/tests-mbwc/dat_wcsstr.c b/localedata/tests-mbwc/dat_wcsstr.c
index e40be35226..a6a2b53af9 100644
--- a/localedata/tests-mbwc/dat_wcsstr.c
+++ b/localedata/tests-mbwc/dat_wcsstr.c
@@ -62,7 +62,7 @@ TST_WCSSTR tst_wcsstr_loc [] = {
 		     { 0x0000			   }, },  /* #11 */
 	/*expect*/ { 0,0,0,			      },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -112,7 +112,7 @@ TST_WCSSTR tst_wcsstr_loc [] = {
 		     { 0x0000			   }, },  /* #11 */
 	/*expect*/ { 0,0,0,			      },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -162,7 +162,7 @@ TST_WCSSTR tst_wcsstr_loc [] = {
 		     { 0x0000			   }, },  /* #11 */
 	/*expect*/ { 0,0,0,			      },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcstod.c b/localedata/tests-mbwc/dat_wcstod.c
index 5de59f0b5a..4b0faba2fc 100644
--- a/localedata/tests-mbwc/dat_wcstod.c
+++ b/localedata/tests-mbwc/dat_wcstod.c
@@ -32,7 +32,7 @@ TST_WCSTOD tst_wcstod_loc [] = {
 	/*E*/
 	{ 0,1,123.456,	       123.456,			   0x0040  }
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -52,7 +52,7 @@ TST_WCSTOD tst_wcstod_loc [] = {
 	/*E*/
 	{ 0,1,123.456,	       123.456,			   0x0040  }
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -65,7 +65,7 @@ TST_WCSTOD tst_wcstod_loc [] = {
 	/*E*/
 	{ 0,1,123.456,	       123.456,			   0x0040  }
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcstok.c b/localedata/tests-mbwc/dat_wcstok.c
index d9b50264bd..5b931c250d 100644
--- a/localedata/tests-mbwc/dat_wcstok.c
+++ b/localedata/tests-mbwc/dat_wcstok.c
@@ -51,7 +51,7 @@ TST_WCSTOK tst_wcstok_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -88,7 +88,7 @@ TST_WCSTOK tst_wcstok_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -125,7 +125,7 @@ TST_WCSTOK tst_wcstok_loc [] = {
 	  }
 	}
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcstombs.c b/localedata/tests-mbwc/dat_wcstombs.c
index 4a7de0b725..a6dd0ec662 100644
--- a/localedata/tests-mbwc/dat_wcstombs.c
+++ b/localedata/tests-mbwc/dat_wcstombs.c
@@ -74,7 +74,7 @@ TST_WCSTOMBS tst_wcstombs_loc [] = {
       { /*input.*/ { 0,1,	       { 0x0000 },			5 },
 	/*expect*/ { 0,1,0,	 ""					  },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -135,7 +135,7 @@ TST_WCSTOMBS tst_wcstombs_loc [] = {
       { /*input.*/ { 0,1,	       { 0x0000 },			5  },
 	/*expect*/ { 0,1,0,	 ""					   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -197,7 +197,7 @@ TST_WCSTOMBS tst_wcstombs_loc [] = {
       { /*input.*/ { 0,1,	       { 0x0000 },			5  },
 	/*expect*/ { 0,1,0,	 ""					   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcswidth.c b/localedata/tests-mbwc/dat_wcswidth.c
index fb66d979e5..68054e797f 100644
--- a/localedata/tests-mbwc/dat_wcswidth.c
+++ b/localedata/tests-mbwc/dat_wcswidth.c
@@ -74,7 +74,7 @@ TST_WCSWIDTH tst_wcswidth_loc [] = {
       { /*input.*/ { { 0x00C1,0x3044,0x0000 },		 2 },  /* 20 */
 	/*expect*/ { 0,1,-1				   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -158,7 +158,7 @@ TST_WCSWIDTH tst_wcswidth_loc [] = {
       { /*input.*/ { { 0x0041,0x3044,0x0000 },		 2 },  /* 20 */
 	/*expect*/ { 0,1,-1				   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -232,7 +232,7 @@ TST_WCSWIDTH tst_wcswidth_loc [] = {
       { /*input.*/ { { 0x0041,0x3044,0x0000 },		 2 },  /* 20 */
 	/*expect*/ { 0,1,3				   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wcsxfrm.c b/localedata/tests-mbwc/dat_wcsxfrm.c
index 0abd0d4d3b..231da38029 100644
--- a/localedata/tests-mbwc/dat_wcsxfrm.c
+++ b/localedata/tests-mbwc/dat_wcsxfrm.c
@@ -37,7 +37,7 @@ TST_WCSXFRM tst_wcsxfrm_loc [] = {
       { /*inp*/ { { 0x00DC,0x0000 }, { 0x00E4,0x0000 }, 7, 7 },	 /* #05 */
 	/*exp*/ {   0,	       0,0,		     },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -62,7 +62,7 @@ TST_WCSXFRM tst_wcsxfrm_loc [] = {
 	/*exp*/ {   EINVAL,	       1,(size_t)-1,	     },
       },
 #endif
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -89,7 +89,7 @@ TST_WCSXFRM tst_wcsxfrm_loc [] = {
 	/*exp*/ {   EINVAL,	       1,(size_t)-1,	     },
       },
 #endif
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wctob.c b/localedata/tests-mbwc/dat_wctob.c
index 6205048099..4247e694f0 100644
--- a/localedata/tests-mbwc/dat_wctob.c
+++ b/localedata/tests-mbwc/dat_wctob.c
@@ -17,7 +17,7 @@ TST_WCTOB tst_wctob_loc [] = {
 	  {  { 0x0080 }, { 0,	 1, 0x80       }  },
 	  {  { 0x00C4 }, { 0,	 1, 0xC4       }  },
 	  {  { 0x30C4 }, { 0,	 1, EOF	       }  },
-	  {  is_last: 1 } /* Last element.  */
+	  {  .is_last = 1 } /* Last element.  */
 	}
     },
     {	{ Twctob, TST_LOC_enUS },
@@ -34,7 +34,7 @@ TST_WCTOB tst_wctob_loc [] = {
 	  {  { 0x00C4 }, { 0,	 1, EOF        }  },
 #endif
 	  {  { 0x30C4 }, { 0,	 1, EOF	       }  },
-	  {  is_last: 1 } /* Last element.  */
+	  {  .is_last = 1 } /* Last element.  */
 	}
     },
     {	{ Twctob, TST_LOC_eucJP },
@@ -46,7 +46,7 @@ TST_WCTOB tst_wctob_loc [] = {
 	  {  { 0x00FF }, { 0,	 1, EOF        }  },
 	  {  { 0x00C4 }, { 0,	 1, EOF	       }  },
 	  {  { 0x30C4 }, { 0,	 1, EOF	       }  },
-	  {  is_last: 1 } /* Last element.  */
+	  {  .is_last = 1 } /* Last element.  */
 	}
     },
     {	{ Twctob, TST_LOC_end } }
diff --git a/localedata/tests-mbwc/dat_wctomb.c b/localedata/tests-mbwc/dat_wctomb.c
index e9f789f0e5..7394ca530b 100644
--- a/localedata/tests-mbwc/dat_wctomb.c
+++ b/localedata/tests-mbwc/dat_wctomb.c
@@ -77,7 +77,7 @@ TST_WCTOMB tst_wctomb_loc [] = {
       { /*input.*/ { 0,	   0x0000  },
 	/*expect*/ { 0,0,0,  ""	   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -104,7 +104,7 @@ TST_WCTOMB tst_wctomb_loc [] = {
       { /*input.*/ { 0,	   0x0000  },
 	/*expect*/ { 0,0,0,  ""	   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
@@ -130,7 +130,7 @@ TST_WCTOMB tst_wctomb_loc [] = {
       { /*input.*/ { 0,	   0x008E  },
 	/*expect*/ { 0,0,0,  ""	   },
       },
-      { is_last: 1 }
+      { .is_last = 1 }
     }
   },
   {
diff --git a/localedata/tests-mbwc/dat_wctrans.c b/localedata/tests-mbwc/dat_wctrans.c
index adb79f77fc..1e7cb6c6dc 100644
--- a/localedata/tests-mbwc/dat_wctrans.c
+++ b/localedata/tests-mbwc/dat_wctrans.c
@@ -36,7 +36,7 @@ TST_WCTRANS tst_wctrans_loc [] = {
           { /*inp*/ { "xxxxx"          },  /* #6 */
             /*exp*/ { 0,1,0,         },
           },
-	  { is_last: 1 }
+	  { .is_last = 1 }
         }
     },
     {   { Twctrans, TST_LOC_enUS },
@@ -59,7 +59,7 @@ TST_WCTRANS tst_wctrans_loc [] = {
           { /*inp*/ { "xxxxx"          },  /* #6 */
             /*exp*/ { 0,1,0,         },
           },
-	  { is_last: 1 }
+	  { .is_last = 1 }
         }
     },
     {   { Twctrans, TST_LOC_eucJP },
@@ -88,7 +88,7 @@ TST_WCTRANS tst_wctrans_loc [] = {
           { /*inp*/ { "tojkata"        },  /* #8 */
             /*exp*/ { 0,0,0,         },
           },
-	  { is_last: 1 }
+	  { .is_last = 1 }
         }
     },
     {   { Twctrans, TST_LOC_end }}
diff --git a/localedata/tests-mbwc/dat_wctype.c b/localedata/tests-mbwc/dat_wctype.c
index e51b97db99..3e1c10ae5b 100644
--- a/localedata/tests-mbwc/dat_wctype.c
+++ b/localedata/tests-mbwc/dat_wctype.c
@@ -66,7 +66,7 @@ TST_WCTYPE tst_wctype_loc [] = {
 	  { /*inp*/ { "special"	       },  /* #16 */
 	    /*exp*/ { 0,1,0,	       },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twctype, TST_LOC_enUS },
@@ -119,7 +119,7 @@ TST_WCTYPE tst_wctype_loc [] = {
 	  { /*inp*/ { "special"	       },  /* #16 */
 	    /*exp*/ { 0,1,0,	       },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twctype, TST_LOC_eucJP },
@@ -178,7 +178,7 @@ TST_WCTYPE tst_wctype_loc [] = {
 	  { /*inp*/ { "jdigit"	       },  /* #18 */
 	    /*exp*/ { 0,0,0,	       },
 	  },
-	  { is_last: 1 }
+	  { .is_last = 1 }
 	}
     },
     {	{ Twctype, TST_LOC_end }}
diff --git a/localedata/tests-mbwc/dat_wcwidth.c b/localedata/tests-mbwc/dat_wcwidth.c
index 993b0f6bc7..e50d963830 100644
--- a/localedata/tests-mbwc/dat_wcwidth.c
+++ b/localedata/tests-mbwc/dat_wcwidth.c
@@ -38,7 +38,7 @@ TST_WCWIDTH tst_wcwidth_loc [] = {
 	  /*exp*/ { 0,	1,EOF,	     },
 	},
 #endif
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
     },
     {
@@ -65,7 +65,7 @@ TST_WCWIDTH tst_wcwidth_loc [] = {
 	{ /*inp*/ { 0x3041		     },	 /* #07 */
 	  /*exp*/ { 0,	1,-1,	     },
 	},
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
     },
     {
@@ -101,7 +101,7 @@ TST_WCWIDTH tst_wcwidth_loc [] = {
 	{ /*inp*/ { 0x3041		     },	 /* #07 */
 	  /*exp*/ { 0,	1,2,	     },
 	},
-	{ is_last: 1 }
+	{ .is_last = 1 }
       }
     },
     {
diff --git a/nptl/old_pthread_cond_broadcast.c b/nptl/old_pthread_cond_broadcast.c
index 05f24bb52b..19918b072f 100644
--- a/nptl/old_pthread_cond_broadcast.c
+++ b/nptl/old_pthread_cond_broadcast.c
@@ -37,7 +37,7 @@ __pthread_cond_broadcast_2_0 (cond)
       if (newcond == NULL)
 	return ENOMEM;
 
-      *newcond = (struct pthread_cond_t) PTHREAD_COND_INITIALIZER;
+      *newcond = (pthread_cond_t) PTHREAD_COND_INITIALIZER;
 
       atomic_write_barrier ();
 
diff --git a/nptl/old_pthread_cond_signal.c b/nptl/old_pthread_cond_signal.c
index 717a33912b..c646b4dd40 100644
--- a/nptl/old_pthread_cond_signal.c
+++ b/nptl/old_pthread_cond_signal.c
@@ -37,7 +37,7 @@ __pthread_cond_signal_2_0 (cond)
       if (newcond == NULL)
 	return ENOMEM;
 
-      *newcond = (struct pthread_cond_t) PTHREAD_COND_INITIALIZER;
+      *newcond = (pthread_cond_t) PTHREAD_COND_INITIALIZER;
 
       atomic_write_barrier ();
 
diff --git a/nptl/old_pthread_cond_timedwait.c b/nptl/old_pthread_cond_timedwait.c
index ef4db9e6e8..ef8047e1b8 100644
--- a/nptl/old_pthread_cond_timedwait.c
+++ b/nptl/old_pthread_cond_timedwait.c
@@ -39,7 +39,7 @@ __pthread_cond_timedwait_2_0 (cond, mutex, abstime)
       if (newcond == NULL)
 	return ENOMEM;
 
-      *newcond = (struct pthread_cond_t) PTHREAD_COND_INITIALIZER;
+      *newcond = (pthread_cond_t) PTHREAD_COND_INITIALIZER;
 
       atomic_write_barrier ();
 
diff --git a/nptl/old_pthread_cond_wait.c b/nptl/old_pthread_cond_wait.c
index b124b260d4..3b54faca69 100644
--- a/nptl/old_pthread_cond_wait.c
+++ b/nptl/old_pthread_cond_wait.c
@@ -38,7 +38,7 @@ __pthread_cond_wait_2_0 (cond, mutex)
       if (newcond == NULL)
 	return ENOMEM;
 
-      *newcond = (struct pthread_cond_t) PTHREAD_COND_INITIALIZER;
+      *newcond = (pthread_cond_t) PTHREAD_COND_INITIALIZER;
 
       atomic_write_barrier ();
 
diff --git a/resolv/res_libc.c b/resolv/res_libc.c
index 67a3467aa7..9bd4e5c747 100644
--- a/resolv/res_libc.c
+++ b/resolv/res_libc.c
@@ -92,7 +92,8 @@ compat_symbol (libc, _res, _res, GLIBC_2_0);
 
 #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2)
 # undef res_init
-strong_alias (__res_init, __res_init_weak);
+extern int __res_init_weak (void);
 weak_extern (__res_init_weak);
+strong_alias (__res_init, __res_init_weak);
 compat_symbol (libc, __res_init_weak, res_init, GLIBC_2_0);
 #endif
diff --git a/sysdeps/unix/sysv/linux/alpha/sysdep.h b/sysdeps/unix/sysv/linux/alpha/sysdep.h
index da65caea41..60b6eda4d3 100644
--- a/sysdeps/unix/sysv/linux/alpha/sysdep.h
+++ b/sysdeps/unix/sysv/linux/alpha/sysdep.h
@@ -87,44 +87,64 @@
 	"$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",	\
 	"$22", "$23", "$24", "$25", "$27", "$28", "memory"
 
+/* If TLS is in use, we have a conflict between the PAL_rduniq primitive,
+   as modeled within GCC, and explicit use of the R0 register.  If we use
+   the register via the asm, the scheduler may place the PAL_rduniq insn
+   before we've copied the data from R0 into _sc_ret.  If this happens 
+   we'll get a reload abort, since R0 is live at the same time it is 
+   needed for the PAL_rduniq.
+
+   Solve this by using the "v" constraint instead of an asm for the syscall
+   output.  We don't do this unconditionally to allow compilation with
+   older compilers.  */
+
+#ifdef USE_TLS
+#define inline_syscall_r0_asm
+#define inline_syscall_r0_constraint	"v"
+#else
+#define inline_syscall_r0_asm		__asm__("$0")
+#define inline_syscall_r0_constraint	"r"
+#endif
+
 /* It is moderately important optimization-wise to limit the lifetime
    of the hard-register variables as much as possible.  Thus we copy
    in/out as close to the asm as possible.  */
 
-#define inline_syscall0(name)				\
-{							\
-	register long _sc_0 __asm__("$0");		\
-	register long _sc_19 __asm__("$19");		\
-							\
-	_sc_0 = __NR_##name;				\
-	__asm__("callsys # %0 %1 <= %2"			\
-		: "=r"(_sc_0), "=r"(_sc_19)		\
-		: "0"(_sc_0)				\
-		: inline_syscall_clobbers,		\
-		  "$16", "$17", "$18", "$20", "$21");	\
-	_sc_ret = _sc_0, _sc_err = _sc_19;		\
+#define inline_syscall0(name, args...)				\
+{								\
+	register long _sc_0 inline_syscall_r0_asm;		\
+	register long _sc_19 __asm__("$19");			\
+								\
+	_sc_0 = __NR_##name;					\
+	__asm__("callsys # %0 %1 <= %2"				\
+		: "=" inline_syscall_r0_constraint (_sc_0),	\
+	          "=r"(_sc_19)					\
+		: "0"(_sc_0)					\
+		: inline_syscall_clobbers,			\
+		  "$16", "$17", "$18", "$20", "$21");		\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 
-#define inline_syscall1(name,arg1)			\
-{							\
-	register long _sc_0 __asm__("$0");		\
-	register long _sc_16 __asm__("$16");		\
-	register long _sc_19 __asm__("$19");		\
-							\
-	_sc_0 = __NR_##name;				\
-	_sc_16 = (long) (arg1);				\
-	__asm__("callsys # %0 %1 <= %2 %3"		\
-		: "=r"(_sc_0), "=r"(_sc_19),		\
-		  "=r"(_sc_16)				\
-		: "0"(_sc_0), "2"(_sc_16)		\
-		: inline_syscall_clobbers,		\
-		  "$17", "$18", "$20", "$21");		\
-	_sc_ret = _sc_0, _sc_err = _sc_19;		\
+#define inline_syscall1(name,arg1)				\
+{								\
+	register long _sc_0 inline_syscall_r0_asm;		\
+	register long _sc_16 __asm__("$16");			\
+	register long _sc_19 __asm__("$19");			\
+								\
+	_sc_0 = __NR_##name;					\
+	_sc_16 = (long) (arg1);					\
+	__asm__("callsys # %0 %1 <= %2 %3"			\
+		: "=" inline_syscall_r0_constraint (_sc_0),	\
+		  "=r"(_sc_19), "=r"(_sc_16)			\
+		: "0"(_sc_0), "2"(_sc_16)			\
+		: inline_syscall_clobbers,			\
+		  "$17", "$18", "$20", "$21");			\
+	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 
 #define inline_syscall2(name,arg1,arg2)				\
 {								\
-	register long _sc_0 __asm__("$0");			\
+	register long _sc_0 inline_syscall_r0_asm;		\
 	register long _sc_16 __asm__("$16");			\
 	register long _sc_17 __asm__("$17");			\
 	register long _sc_19 __asm__("$19");			\
@@ -133,8 +153,8 @@
 	_sc_16 = (long) (arg1);					\
 	_sc_17 = (long) (arg2);					\
 	__asm__("callsys # %0 %1 <= %2 %3 %4"			\
-		: "=r"(_sc_0), "=r"(_sc_19),			\
-		  "=r"(_sc_16), "=r"(_sc_17)			\
+		: "=" inline_syscall_r0_constraint (_sc_0),	\
+		  "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17)	\
 		: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17)		\
 		: inline_syscall_clobbers,			\
 		  "$18", "$20", "$21");				\
@@ -143,7 +163,7 @@
 
 #define inline_syscall3(name,arg1,arg2,arg3)			\
 {								\
-	register long _sc_0 __asm__("$0");			\
+	register long _sc_0 inline_syscall_r0_asm;		\
 	register long _sc_16 __asm__("$16");			\
 	register long _sc_17 __asm__("$17");			\
 	register long _sc_18 __asm__("$18");			\
@@ -154,8 +174,9 @@
 	_sc_17 = (long) (arg2);					\
 	_sc_18 = (long) (arg3);					\
 	__asm__("callsys # %0 %1 <= %2 %3 %4 %5"		\
-		: "=r"(_sc_0), "=r"(_sc_19),			\
-		  "=r"(_sc_16), "=r"(_sc_17), "=r"(_sc_18)	\
+		: "=" inline_syscall_r0_constraint (_sc_0),	\
+		  "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17),	\
+		  "=r"(_sc_18)					\
 		: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
 		  "4"(_sc_18)					\
 		: inline_syscall_clobbers, "$20", "$21");	\
@@ -164,7 +185,7 @@
 
 #define inline_syscall4(name,arg1,arg2,arg3,arg4)		\
 {								\
-	register long _sc_0 __asm__("$0");			\
+	register long _sc_0 inline_syscall_r0_asm;		\
 	register long _sc_16 __asm__("$16");			\
 	register long _sc_17 __asm__("$17");			\
 	register long _sc_18 __asm__("$18");			\
@@ -176,8 +197,9 @@
 	_sc_18 = (long) (arg3);					\
 	_sc_19 = (long) (arg4);					\
 	__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6"		\
-		: "=r"(_sc_0), "=r"(_sc_19),			\
-		  "=r"(_sc_16), "=r"(_sc_17), "=r"(_sc_18)	\
+		: "=" inline_syscall_r0_constraint (_sc_0),	\
+		  "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17),	\
+		  "=r"(_sc_18)					\
 		: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
 		  "4"(_sc_18), "1"(_sc_19)			\
 		: inline_syscall_clobbers, "$20", "$21");	\
@@ -186,7 +208,7 @@
 
 #define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5)		\
 {								\
-	register long _sc_0 __asm__("$0");			\
+	register long _sc_0 inline_syscall_r0_asm;		\
 	register long _sc_16 __asm__("$16");			\
 	register long _sc_17 __asm__("$17");			\
 	register long _sc_18 __asm__("$18");			\
@@ -200,9 +222,9 @@
 	_sc_19 = (long) (arg4);					\
 	_sc_20 = (long) (arg5);					\
 	__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7"		\
-		: "=r"(_sc_0), "=r"(_sc_19), 			\
-		  "=r"(_sc_16), "=r"(_sc_17), "=r"(_sc_18),	\
-		  "=r"(_sc_20)					\
+		: "=" inline_syscall_r0_constraint (_sc_0),	\
+		  "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17),	\
+		  "=r"(_sc_18),	"=r"(_sc_20)			\
 		: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
 		  "4"(_sc_18), "1"(_sc_19), "5"(_sc_20)		\
 		: inline_syscall_clobbers, "$21");		\
@@ -211,7 +233,7 @@
 
 #define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6)	\
 {								\
-	register long _sc_0 __asm__("$0");			\
+	register long _sc_0 inline_syscall_r0_asm;		\
 	register long _sc_16 __asm__("$16");			\
 	register long _sc_17 __asm__("$17");			\
 	register long _sc_18 __asm__("$18");			\
@@ -227,9 +249,9 @@
 	_sc_20 = (long) (arg5);					\
 	_sc_21 = (long) (arg6);					\
 	__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8"	\
-		: "=r"(_sc_0), "=r"(_sc_19)			\
-		  "=r"(_sc_16), "=r"(_sc_17), "=r"(_sc_18),	\
-		  "=r"(_sc_20), "=r"(_sc_21)			\
+		: "=" inline_syscall_r0_constraint (_sc_0),	\
+		  "=r"(_sc_19) "=r"(_sc_16), "=r"(_sc_17),	\
+		  "=r"(_sc_18), "=r"(_sc_20), "=r"(_sc_21)	\
 		: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
 		  "4"(_sc_18), "1"(_sc_19), "5"(_sc_20),	\
 		  "6"(_sc_21)					\