Break stdio/asprintf.c and misc/uchar.c into pieces, one function
per compilation unit:
	* stdio/vasprintf.c: New.
	* misc/uchar_c16rtomb.c: New.
	* misc/uchar_c32rtomb.c: New.
	* misc/uchar_mbrtoc16.c: New.
	* misc/uchar_mbrtoc32.c: New.
	* Makefile.am: Adjust.
	* Makefile.in: Regenerate.


git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@4567 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-crt/ChangeLog b/mingw-w64-crt/ChangeLog
index 36acd77..7f04523 100644
--- a/mingw-w64-crt/ChangeLog
+++ b/mingw-w64-crt/ChangeLog
@@ -1,3 +1,15 @@
+2011-11-02  Ozkan Sezer  <sezeroz@gmail.com>
+
+	Break stdio/asprintf.c and misc/uchar.c into pieces, one function
+	per compilation unit:
+	* stdio/vasprintf.c: New.
+	* misc/uchar_c16rtomb.c: New.
+	* misc/uchar_c32rtomb.c: New.
+	* misc/uchar_mbrtoc16.c: New.
+	* misc/uchar_mbrtoc32.c: New.
+	* Makefile.am: Adjust.
+	* Makefile.in: Regenerate.
+
 2011-11-01  Ozkan Sezer  <sezeroz@gmail.com>
 
 	* stdio/asprintf.c: Define __CRT__NO_INLINE before including any
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index f4dc7de..6f77aed 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -249,8 +249,8 @@
   stdio/_wfindfirst64i32.c stdio/_wfindnext64i32.c \
   stdio/_wstat64i32.c stdio/_wstat.c stdio/wtoll.c \
   stdio/fgetpos64.c        stdio/fseeko32.c        stdio/fsetpos64.c        stdio/ftello.c            stdio/ftruncate64.c     \
-  stdio/truncate.c         stdio/asprintf.c \
-  misc/uchar.c           \
+  stdio/truncate.c         stdio/asprintf.c        stdio/vasprintf.c        \
+  misc/uchar_c16rtomb.c    misc/uchar_c32rtomb.c   misc/uchar_mbrtoc16.c    misc/uchar_mbrtoc32.c     \
   intrincs/ilockadd.c      intrincs/ilockand64.c   intrincs/ilockcxch64.c   intrincs/ilockcxchptr.c   intrincs/ilockdec64.c   \
   intrincs/ilockexch64.c   intrincs/ilockexchptr.c intrincs/ilockinc64.c    intrincs/ilockor64.c      intrincs/ilockxor64.c   \
   intrincs/ilockexchadd64.c
diff --git a/mingw-w64-crt/Makefile.in b/mingw-w64-crt/Makefile.in
index b67d212..1a744ef 100644
--- a/mingw-w64-crt/Makefile.in
+++ b/mingw-w64-crt/Makefile.in
@@ -445,7 +445,9 @@
 	stdio/_wfindnext64i32.c stdio/_wstat64i32.c stdio/_wstat.c \
 	stdio/wtoll.c stdio/fgetpos64.c stdio/fseeko32.c \
 	stdio/fsetpos64.c stdio/ftello.c stdio/ftruncate64.c \
-	stdio/truncate.c stdio/asprintf.c misc/uchar.c \
+	stdio/truncate.c stdio/asprintf.c stdio/vasprintf.c \
+	misc/uchar_c16rtomb.c misc/uchar_c32rtomb.c \
+	misc/uchar_mbrtoc16.c misc/uchar_mbrtoc32.c \
 	intrincs/ilockadd.c intrincs/ilockand64.c \
 	intrincs/ilockcxch64.c intrincs/ilockcxchptr.c \
 	intrincs/ilockdec64.c intrincs/ilockexch64.c \
@@ -920,7 +922,11 @@
 	stdio/lib32_libmingwex_a-ftruncate64.$(OBJEXT) \
 	stdio/lib32_libmingwex_a-truncate.$(OBJEXT) \
 	stdio/lib32_libmingwex_a-asprintf.$(OBJEXT) \
-	misc/lib32_libmingwex_a-uchar.$(OBJEXT) \
+	stdio/lib32_libmingwex_a-vasprintf.$(OBJEXT) \
+	misc/lib32_libmingwex_a-uchar_c16rtomb.$(OBJEXT) \
+	misc/lib32_libmingwex_a-uchar_c32rtomb.$(OBJEXT) \
+	misc/lib32_libmingwex_a-uchar_mbrtoc16.$(OBJEXT) \
+	misc/lib32_libmingwex_a-uchar_mbrtoc32.$(OBJEXT) \
 	intrincs/lib32_libmingwex_a-ilockadd.$(OBJEXT) \
 	intrincs/lib32_libmingwex_a-ilockand64.$(OBJEXT) \
 	intrincs/lib32_libmingwex_a-ilockcxch64.$(OBJEXT) \
@@ -1415,7 +1421,9 @@
 	stdio/_wfindnext64i32.c stdio/_wstat64i32.c stdio/_wstat.c \
 	stdio/wtoll.c stdio/fgetpos64.c stdio/fseeko32.c \
 	stdio/fsetpos64.c stdio/ftello.c stdio/ftruncate64.c \
-	stdio/truncate.c stdio/asprintf.c misc/uchar.c \
+	stdio/truncate.c stdio/asprintf.c stdio/vasprintf.c \
+	misc/uchar_c16rtomb.c misc/uchar_c32rtomb.c \
+	misc/uchar_mbrtoc16.c misc/uchar_mbrtoc32.c \
 	intrincs/ilockadd.c intrincs/ilockand64.c \
 	intrincs/ilockcxch64.c intrincs/ilockcxchptr.c \
 	intrincs/ilockdec64.c intrincs/ilockexch64.c \
@@ -1898,7 +1906,11 @@
 	stdio/lib64_libmingwex_a-ftruncate64.$(OBJEXT) \
 	stdio/lib64_libmingwex_a-truncate.$(OBJEXT) \
 	stdio/lib64_libmingwex_a-asprintf.$(OBJEXT) \
-	misc/lib64_libmingwex_a-uchar.$(OBJEXT) \
+	stdio/lib64_libmingwex_a-vasprintf.$(OBJEXT) \
+	misc/lib64_libmingwex_a-uchar_c16rtomb.$(OBJEXT) \
+	misc/lib64_libmingwex_a-uchar_c32rtomb.$(OBJEXT) \
+	misc/lib64_libmingwex_a-uchar_mbrtoc16.$(OBJEXT) \
+	misc/lib64_libmingwex_a-uchar_mbrtoc32.$(OBJEXT) \
 	intrincs/lib64_libmingwex_a-ilockadd.$(OBJEXT) \
 	intrincs/lib64_libmingwex_a-ilockand64.$(OBJEXT) \
 	intrincs/lib64_libmingwex_a-ilockcxch64.$(OBJEXT) \
@@ -3348,8 +3360,8 @@
   stdio/_wfindfirst64i32.c stdio/_wfindnext64i32.c \
   stdio/_wstat64i32.c stdio/_wstat.c stdio/wtoll.c \
   stdio/fgetpos64.c        stdio/fseeko32.c        stdio/fsetpos64.c        stdio/ftello.c            stdio/ftruncate64.c     \
-  stdio/truncate.c         stdio/asprintf.c \
-  misc/uchar.c           \
+  stdio/truncate.c         stdio/asprintf.c        stdio/vasprintf.c        \
+  misc/uchar_c16rtomb.c    misc/uchar_c32rtomb.c   misc/uchar_mbrtoc16.c    misc/uchar_mbrtoc32.c     \
   intrincs/ilockadd.c      intrincs/ilockand64.c   intrincs/ilockcxch64.c   intrincs/ilockcxchptr.c   intrincs/ilockdec64.c   \
   intrincs/ilockexch64.c   intrincs/ilockexchptr.c intrincs/ilockinc64.c    intrincs/ilockor64.c      intrincs/ilockxor64.c   \
   intrincs/ilockexchadd64.c
@@ -5505,8 +5517,16 @@
 	stdio/$(DEPDIR)/$(am__dirstamp)
 stdio/lib32_libmingwex_a-asprintf.$(OBJEXT): stdio/$(am__dirstamp) \
 	stdio/$(DEPDIR)/$(am__dirstamp)
-misc/lib32_libmingwex_a-uchar.$(OBJEXT): misc/$(am__dirstamp) \
-	misc/$(DEPDIR)/$(am__dirstamp)
+stdio/lib32_libmingwex_a-vasprintf.$(OBJEXT): stdio/$(am__dirstamp) \
+	stdio/$(DEPDIR)/$(am__dirstamp)
+misc/lib32_libmingwex_a-uchar_c16rtomb.$(OBJEXT):  \
+	misc/$(am__dirstamp) misc/$(DEPDIR)/$(am__dirstamp)
+misc/lib32_libmingwex_a-uchar_c32rtomb.$(OBJEXT):  \
+	misc/$(am__dirstamp) misc/$(DEPDIR)/$(am__dirstamp)
+misc/lib32_libmingwex_a-uchar_mbrtoc16.$(OBJEXT):  \
+	misc/$(am__dirstamp) misc/$(DEPDIR)/$(am__dirstamp)
+misc/lib32_libmingwex_a-uchar_mbrtoc32.$(OBJEXT):  \
+	misc/$(am__dirstamp) misc/$(DEPDIR)/$(am__dirstamp)
 intrincs/lib32_libmingwex_a-ilockadd.$(OBJEXT):  \
 	intrincs/$(am__dirstamp) intrincs/$(DEPDIR)/$(am__dirstamp)
 intrincs/lib32_libmingwex_a-ilockand64.$(OBJEXT):  \
@@ -6914,8 +6934,16 @@
 	stdio/$(DEPDIR)/$(am__dirstamp)
 stdio/lib64_libmingwex_a-asprintf.$(OBJEXT): stdio/$(am__dirstamp) \
 	stdio/$(DEPDIR)/$(am__dirstamp)
-misc/lib64_libmingwex_a-uchar.$(OBJEXT): misc/$(am__dirstamp) \
-	misc/$(DEPDIR)/$(am__dirstamp)
+stdio/lib64_libmingwex_a-vasprintf.$(OBJEXT): stdio/$(am__dirstamp) \
+	stdio/$(DEPDIR)/$(am__dirstamp)
+misc/lib64_libmingwex_a-uchar_c16rtomb.$(OBJEXT):  \
+	misc/$(am__dirstamp) misc/$(DEPDIR)/$(am__dirstamp)
+misc/lib64_libmingwex_a-uchar_c32rtomb.$(OBJEXT):  \
+	misc/$(am__dirstamp) misc/$(DEPDIR)/$(am__dirstamp)
+misc/lib64_libmingwex_a-uchar_mbrtoc16.$(OBJEXT):  \
+	misc/$(am__dirstamp) misc/$(DEPDIR)/$(am__dirstamp)
+misc/lib64_libmingwex_a-uchar_mbrtoc32.$(OBJEXT):  \
+	misc/$(am__dirstamp) misc/$(DEPDIR)/$(am__dirstamp)
 intrincs/lib64_libmingwex_a-ilockadd.$(OBJEXT):  \
 	intrincs/$(am__dirstamp) intrincs/$(DEPDIR)/$(am__dirstamp)
 intrincs/lib64_libmingwex_a-ilockand64.$(OBJEXT):  \
@@ -9118,7 +9146,10 @@
 	-rm -f misc/lib32_libmingwex_a-time.$(OBJEXT)
 	-rm -f misc/lib32_libmingwex_a-tsearch.$(OBJEXT)
 	-rm -f misc/lib32_libmingwex_a-twalk.$(OBJEXT)
-	-rm -f misc/lib32_libmingwex_a-uchar.$(OBJEXT)
+	-rm -f misc/lib32_libmingwex_a-uchar_c16rtomb.$(OBJEXT)
+	-rm -f misc/lib32_libmingwex_a-uchar_c32rtomb.$(OBJEXT)
+	-rm -f misc/lib32_libmingwex_a-uchar_mbrtoc16.$(OBJEXT)
+	-rm -f misc/lib32_libmingwex_a-uchar_mbrtoc32.$(OBJEXT)
 	-rm -f misc/lib32_libmingwex_a-wassert.$(OBJEXT)
 	-rm -f misc/lib32_libmingwex_a-wcrtomb.$(OBJEXT)
 	-rm -f misc/lib32_libmingwex_a-wcsnlen.$(OBJEXT)
@@ -9217,7 +9248,10 @@
 	-rm -f misc/lib64_libmingwex_a-time.$(OBJEXT)
 	-rm -f misc/lib64_libmingwex_a-tsearch.$(OBJEXT)
 	-rm -f misc/lib64_libmingwex_a-twalk.$(OBJEXT)
-	-rm -f misc/lib64_libmingwex_a-uchar.$(OBJEXT)
+	-rm -f misc/lib64_libmingwex_a-uchar_c16rtomb.$(OBJEXT)
+	-rm -f misc/lib64_libmingwex_a-uchar_c32rtomb.$(OBJEXT)
+	-rm -f misc/lib64_libmingwex_a-uchar_mbrtoc16.$(OBJEXT)
+	-rm -f misc/lib64_libmingwex_a-uchar_mbrtoc32.$(OBJEXT)
 	-rm -f misc/lib64_libmingwex_a-wassert.$(OBJEXT)
 	-rm -f misc/lib64_libmingwex_a-wcrtomb.$(OBJEXT)
 	-rm -f misc/lib64_libmingwex_a-wcsnlen.$(OBJEXT)
@@ -9307,6 +9341,7 @@
 	-rm -f stdio/lib32_libmingwex_a-truncate.$(OBJEXT)
 	-rm -f stdio/lib32_libmingwex_a-ulltoa.$(OBJEXT)
 	-rm -f stdio/lib32_libmingwex_a-ulltow.$(OBJEXT)
+	-rm -f stdio/lib32_libmingwex_a-vasprintf.$(OBJEXT)
 	-rm -f stdio/lib32_libmingwex_a-vfscanf.$(OBJEXT)
 	-rm -f stdio/lib32_libmingwex_a-vfwscanf.$(OBJEXT)
 	-rm -f stdio/lib32_libmingwex_a-vscanf.$(OBJEXT)
@@ -9378,6 +9413,7 @@
 	-rm -f stdio/lib64_libmingwex_a-truncate.$(OBJEXT)
 	-rm -f stdio/lib64_libmingwex_a-ulltoa.$(OBJEXT)
 	-rm -f stdio/lib64_libmingwex_a-ulltow.$(OBJEXT)
+	-rm -f stdio/lib64_libmingwex_a-vasprintf.$(OBJEXT)
 	-rm -f stdio/lib64_libmingwex_a-vfscanf.$(OBJEXT)
 	-rm -f stdio/lib64_libmingwex_a-vfwscanf.$(OBJEXT)
 	-rm -f stdio/lib64_libmingwex_a-vscanf.$(OBJEXT)
@@ -10618,7 +10654,10 @@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-time.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-tsearch.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-twalk.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-uchar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c16rtomb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c32rtomb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc16.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc32.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-wassert.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-wcrtomb.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib32_libmingwex_a-wcsnlen.Po@am__quote@
@@ -10717,7 +10756,10 @@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-time.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-tsearch.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-twalk.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-uchar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c16rtomb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c32rtomb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc16.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc32.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-wassert.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-wcrtomb.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@misc/$(DEPDIR)/lib64_libmingwex_a-wcsnlen.Po@am__quote@
@@ -10807,6 +10849,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmingwex_a-truncate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmingwex_a-ulltoa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmingwex_a-ulltow.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmingwex_a-vasprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmingwex_a-vfscanf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmingwex_a-vfwscanf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmingwex_a-vscanf.Po@am__quote@
@@ -10878,6 +10921,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmingwex_a-truncate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmingwex_a-ulltoa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmingwex_a-ulltow.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmingwex_a-vasprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmingwex_a-vfscanf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmingwex_a-vfwscanf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmingwex_a-vscanf.Po@am__quote@
@@ -18877,19 +18921,75 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib32_libmingwex_a-asprintf.obj `if test -f 'stdio/asprintf.c'; then $(CYGPATH_W) 'stdio/asprintf.c'; else $(CYGPATH_W) '$(srcdir)/stdio/asprintf.c'; fi`
 
-misc/lib32_libmingwex_a-uchar.o: misc/uchar.c
-@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar.o -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar.Tpo -c -o misc/lib32_libmingwex_a-uchar.o `test -f 'misc/uchar.c' || echo '$(srcdir)/'`misc/uchar.c
-@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar.c' object='misc/lib32_libmingwex_a-uchar.o' libtool=no @AMDEPBACKSLASH@
+stdio/lib32_libmingwex_a-vasprintf.o: stdio/vasprintf.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib32_libmingwex_a-vasprintf.o -MD -MP -MF stdio/$(DEPDIR)/lib32_libmingwex_a-vasprintf.Tpo -c -o stdio/lib32_libmingwex_a-vasprintf.o `test -f 'stdio/vasprintf.c' || echo '$(srcdir)/'`stdio/vasprintf.c
+@am__fastdepCC_TRUE@	$(am__mv) stdio/$(DEPDIR)/lib32_libmingwex_a-vasprintf.Tpo stdio/$(DEPDIR)/lib32_libmingwex_a-vasprintf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdio/vasprintf.c' object='stdio/lib32_libmingwex_a-vasprintf.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar.o `test -f 'misc/uchar.c' || echo '$(srcdir)/'`misc/uchar.c
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib32_libmingwex_a-vasprintf.o `test -f 'stdio/vasprintf.c' || echo '$(srcdir)/'`stdio/vasprintf.c
 
-misc/lib32_libmingwex_a-uchar.obj: misc/uchar.c
-@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar.obj -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar.Tpo -c -o misc/lib32_libmingwex_a-uchar.obj `if test -f 'misc/uchar.c'; then $(CYGPATH_W) 'misc/uchar.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar.c'; fi`
-@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar.c' object='misc/lib32_libmingwex_a-uchar.obj' libtool=no @AMDEPBACKSLASH@
+stdio/lib32_libmingwex_a-vasprintf.obj: stdio/vasprintf.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib32_libmingwex_a-vasprintf.obj -MD -MP -MF stdio/$(DEPDIR)/lib32_libmingwex_a-vasprintf.Tpo -c -o stdio/lib32_libmingwex_a-vasprintf.obj `if test -f 'stdio/vasprintf.c'; then $(CYGPATH_W) 'stdio/vasprintf.c'; else $(CYGPATH_W) '$(srcdir)/stdio/vasprintf.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) stdio/$(DEPDIR)/lib32_libmingwex_a-vasprintf.Tpo stdio/$(DEPDIR)/lib32_libmingwex_a-vasprintf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdio/vasprintf.c' object='stdio/lib32_libmingwex_a-vasprintf.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar.obj `if test -f 'misc/uchar.c'; then $(CYGPATH_W) 'misc/uchar.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar.c'; fi`
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib32_libmingwex_a-vasprintf.obj `if test -f 'stdio/vasprintf.c'; then $(CYGPATH_W) 'stdio/vasprintf.c'; else $(CYGPATH_W) '$(srcdir)/stdio/vasprintf.c'; fi`
+
+misc/lib32_libmingwex_a-uchar_c16rtomb.o: misc/uchar_c16rtomb.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar_c16rtomb.o -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c16rtomb.Tpo -c -o misc/lib32_libmingwex_a-uchar_c16rtomb.o `test -f 'misc/uchar_c16rtomb.c' || echo '$(srcdir)/'`misc/uchar_c16rtomb.c
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c16rtomb.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c16rtomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_c16rtomb.c' object='misc/lib32_libmingwex_a-uchar_c16rtomb.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar_c16rtomb.o `test -f 'misc/uchar_c16rtomb.c' || echo '$(srcdir)/'`misc/uchar_c16rtomb.c
+
+misc/lib32_libmingwex_a-uchar_c16rtomb.obj: misc/uchar_c16rtomb.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar_c16rtomb.obj -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c16rtomb.Tpo -c -o misc/lib32_libmingwex_a-uchar_c16rtomb.obj `if test -f 'misc/uchar_c16rtomb.c'; then $(CYGPATH_W) 'misc/uchar_c16rtomb.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_c16rtomb.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c16rtomb.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c16rtomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_c16rtomb.c' object='misc/lib32_libmingwex_a-uchar_c16rtomb.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar_c16rtomb.obj `if test -f 'misc/uchar_c16rtomb.c'; then $(CYGPATH_W) 'misc/uchar_c16rtomb.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_c16rtomb.c'; fi`
+
+misc/lib32_libmingwex_a-uchar_c32rtomb.o: misc/uchar_c32rtomb.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar_c32rtomb.o -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c32rtomb.Tpo -c -o misc/lib32_libmingwex_a-uchar_c32rtomb.o `test -f 'misc/uchar_c32rtomb.c' || echo '$(srcdir)/'`misc/uchar_c32rtomb.c
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c32rtomb.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c32rtomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_c32rtomb.c' object='misc/lib32_libmingwex_a-uchar_c32rtomb.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar_c32rtomb.o `test -f 'misc/uchar_c32rtomb.c' || echo '$(srcdir)/'`misc/uchar_c32rtomb.c
+
+misc/lib32_libmingwex_a-uchar_c32rtomb.obj: misc/uchar_c32rtomb.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar_c32rtomb.obj -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c32rtomb.Tpo -c -o misc/lib32_libmingwex_a-uchar_c32rtomb.obj `if test -f 'misc/uchar_c32rtomb.c'; then $(CYGPATH_W) 'misc/uchar_c32rtomb.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_c32rtomb.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c32rtomb.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar_c32rtomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_c32rtomb.c' object='misc/lib32_libmingwex_a-uchar_c32rtomb.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar_c32rtomb.obj `if test -f 'misc/uchar_c32rtomb.c'; then $(CYGPATH_W) 'misc/uchar_c32rtomb.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_c32rtomb.c'; fi`
+
+misc/lib32_libmingwex_a-uchar_mbrtoc16.o: misc/uchar_mbrtoc16.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar_mbrtoc16.o -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc16.Tpo -c -o misc/lib32_libmingwex_a-uchar_mbrtoc16.o `test -f 'misc/uchar_mbrtoc16.c' || echo '$(srcdir)/'`misc/uchar_mbrtoc16.c
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc16.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc16.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_mbrtoc16.c' object='misc/lib32_libmingwex_a-uchar_mbrtoc16.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar_mbrtoc16.o `test -f 'misc/uchar_mbrtoc16.c' || echo '$(srcdir)/'`misc/uchar_mbrtoc16.c
+
+misc/lib32_libmingwex_a-uchar_mbrtoc16.obj: misc/uchar_mbrtoc16.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar_mbrtoc16.obj -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc16.Tpo -c -o misc/lib32_libmingwex_a-uchar_mbrtoc16.obj `if test -f 'misc/uchar_mbrtoc16.c'; then $(CYGPATH_W) 'misc/uchar_mbrtoc16.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_mbrtoc16.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc16.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc16.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_mbrtoc16.c' object='misc/lib32_libmingwex_a-uchar_mbrtoc16.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar_mbrtoc16.obj `if test -f 'misc/uchar_mbrtoc16.c'; then $(CYGPATH_W) 'misc/uchar_mbrtoc16.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_mbrtoc16.c'; fi`
+
+misc/lib32_libmingwex_a-uchar_mbrtoc32.o: misc/uchar_mbrtoc32.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar_mbrtoc32.o -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc32.Tpo -c -o misc/lib32_libmingwex_a-uchar_mbrtoc32.o `test -f 'misc/uchar_mbrtoc32.c' || echo '$(srcdir)/'`misc/uchar_mbrtoc32.c
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc32.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_mbrtoc32.c' object='misc/lib32_libmingwex_a-uchar_mbrtoc32.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar_mbrtoc32.o `test -f 'misc/uchar_mbrtoc32.c' || echo '$(srcdir)/'`misc/uchar_mbrtoc32.c
+
+misc/lib32_libmingwex_a-uchar_mbrtoc32.obj: misc/uchar_mbrtoc32.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib32_libmingwex_a-uchar_mbrtoc32.obj -MD -MP -MF misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc32.Tpo -c -o misc/lib32_libmingwex_a-uchar_mbrtoc32.obj `if test -f 'misc/uchar_mbrtoc32.c'; then $(CYGPATH_W) 'misc/uchar_mbrtoc32.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_mbrtoc32.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc32.Tpo misc/$(DEPDIR)/lib32_libmingwex_a-uchar_mbrtoc32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_mbrtoc32.c' object='misc/lib32_libmingwex_a-uchar_mbrtoc32.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib32_libmingwex_a-uchar_mbrtoc32.obj `if test -f 'misc/uchar_mbrtoc32.c'; then $(CYGPATH_W) 'misc/uchar_mbrtoc32.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_mbrtoc32.c'; fi`
 
 intrincs/lib32_libmingwex_a-ilockadd.o: intrincs/ilockadd.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT intrincs/lib32_libmingwex_a-ilockadd.o -MD -MP -MF intrincs/$(DEPDIR)/lib32_libmingwex_a-ilockadd.Tpo -c -o intrincs/lib32_libmingwex_a-ilockadd.o `test -f 'intrincs/ilockadd.c' || echo '$(srcdir)/'`intrincs/ilockadd.c
@@ -27291,19 +27391,75 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib64_libmingwex_a-asprintf.obj `if test -f 'stdio/asprintf.c'; then $(CYGPATH_W) 'stdio/asprintf.c'; else $(CYGPATH_W) '$(srcdir)/stdio/asprintf.c'; fi`
 
-misc/lib64_libmingwex_a-uchar.o: misc/uchar.c
-@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar.o -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar.Tpo -c -o misc/lib64_libmingwex_a-uchar.o `test -f 'misc/uchar.c' || echo '$(srcdir)/'`misc/uchar.c
-@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar.c' object='misc/lib64_libmingwex_a-uchar.o' libtool=no @AMDEPBACKSLASH@
+stdio/lib64_libmingwex_a-vasprintf.o: stdio/vasprintf.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib64_libmingwex_a-vasprintf.o -MD -MP -MF stdio/$(DEPDIR)/lib64_libmingwex_a-vasprintf.Tpo -c -o stdio/lib64_libmingwex_a-vasprintf.o `test -f 'stdio/vasprintf.c' || echo '$(srcdir)/'`stdio/vasprintf.c
+@am__fastdepCC_TRUE@	$(am__mv) stdio/$(DEPDIR)/lib64_libmingwex_a-vasprintf.Tpo stdio/$(DEPDIR)/lib64_libmingwex_a-vasprintf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdio/vasprintf.c' object='stdio/lib64_libmingwex_a-vasprintf.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar.o `test -f 'misc/uchar.c' || echo '$(srcdir)/'`misc/uchar.c
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib64_libmingwex_a-vasprintf.o `test -f 'stdio/vasprintf.c' || echo '$(srcdir)/'`stdio/vasprintf.c
 
-misc/lib64_libmingwex_a-uchar.obj: misc/uchar.c
-@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar.obj -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar.Tpo -c -o misc/lib64_libmingwex_a-uchar.obj `if test -f 'misc/uchar.c'; then $(CYGPATH_W) 'misc/uchar.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar.c'; fi`
-@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar.c' object='misc/lib64_libmingwex_a-uchar.obj' libtool=no @AMDEPBACKSLASH@
+stdio/lib64_libmingwex_a-vasprintf.obj: stdio/vasprintf.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib64_libmingwex_a-vasprintf.obj -MD -MP -MF stdio/$(DEPDIR)/lib64_libmingwex_a-vasprintf.Tpo -c -o stdio/lib64_libmingwex_a-vasprintf.obj `if test -f 'stdio/vasprintf.c'; then $(CYGPATH_W) 'stdio/vasprintf.c'; else $(CYGPATH_W) '$(srcdir)/stdio/vasprintf.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) stdio/$(DEPDIR)/lib64_libmingwex_a-vasprintf.Tpo stdio/$(DEPDIR)/lib64_libmingwex_a-vasprintf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stdio/vasprintf.c' object='stdio/lib64_libmingwex_a-vasprintf.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar.obj `if test -f 'misc/uchar.c'; then $(CYGPATH_W) 'misc/uchar.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar.c'; fi`
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib64_libmingwex_a-vasprintf.obj `if test -f 'stdio/vasprintf.c'; then $(CYGPATH_W) 'stdio/vasprintf.c'; else $(CYGPATH_W) '$(srcdir)/stdio/vasprintf.c'; fi`
+
+misc/lib64_libmingwex_a-uchar_c16rtomb.o: misc/uchar_c16rtomb.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar_c16rtomb.o -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c16rtomb.Tpo -c -o misc/lib64_libmingwex_a-uchar_c16rtomb.o `test -f 'misc/uchar_c16rtomb.c' || echo '$(srcdir)/'`misc/uchar_c16rtomb.c
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c16rtomb.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c16rtomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_c16rtomb.c' object='misc/lib64_libmingwex_a-uchar_c16rtomb.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar_c16rtomb.o `test -f 'misc/uchar_c16rtomb.c' || echo '$(srcdir)/'`misc/uchar_c16rtomb.c
+
+misc/lib64_libmingwex_a-uchar_c16rtomb.obj: misc/uchar_c16rtomb.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar_c16rtomb.obj -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c16rtomb.Tpo -c -o misc/lib64_libmingwex_a-uchar_c16rtomb.obj `if test -f 'misc/uchar_c16rtomb.c'; then $(CYGPATH_W) 'misc/uchar_c16rtomb.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_c16rtomb.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c16rtomb.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c16rtomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_c16rtomb.c' object='misc/lib64_libmingwex_a-uchar_c16rtomb.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar_c16rtomb.obj `if test -f 'misc/uchar_c16rtomb.c'; then $(CYGPATH_W) 'misc/uchar_c16rtomb.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_c16rtomb.c'; fi`
+
+misc/lib64_libmingwex_a-uchar_c32rtomb.o: misc/uchar_c32rtomb.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar_c32rtomb.o -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c32rtomb.Tpo -c -o misc/lib64_libmingwex_a-uchar_c32rtomb.o `test -f 'misc/uchar_c32rtomb.c' || echo '$(srcdir)/'`misc/uchar_c32rtomb.c
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c32rtomb.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c32rtomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_c32rtomb.c' object='misc/lib64_libmingwex_a-uchar_c32rtomb.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar_c32rtomb.o `test -f 'misc/uchar_c32rtomb.c' || echo '$(srcdir)/'`misc/uchar_c32rtomb.c
+
+misc/lib64_libmingwex_a-uchar_c32rtomb.obj: misc/uchar_c32rtomb.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar_c32rtomb.obj -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c32rtomb.Tpo -c -o misc/lib64_libmingwex_a-uchar_c32rtomb.obj `if test -f 'misc/uchar_c32rtomb.c'; then $(CYGPATH_W) 'misc/uchar_c32rtomb.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_c32rtomb.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c32rtomb.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar_c32rtomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_c32rtomb.c' object='misc/lib64_libmingwex_a-uchar_c32rtomb.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar_c32rtomb.obj `if test -f 'misc/uchar_c32rtomb.c'; then $(CYGPATH_W) 'misc/uchar_c32rtomb.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_c32rtomb.c'; fi`
+
+misc/lib64_libmingwex_a-uchar_mbrtoc16.o: misc/uchar_mbrtoc16.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar_mbrtoc16.o -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc16.Tpo -c -o misc/lib64_libmingwex_a-uchar_mbrtoc16.o `test -f 'misc/uchar_mbrtoc16.c' || echo '$(srcdir)/'`misc/uchar_mbrtoc16.c
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc16.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc16.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_mbrtoc16.c' object='misc/lib64_libmingwex_a-uchar_mbrtoc16.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar_mbrtoc16.o `test -f 'misc/uchar_mbrtoc16.c' || echo '$(srcdir)/'`misc/uchar_mbrtoc16.c
+
+misc/lib64_libmingwex_a-uchar_mbrtoc16.obj: misc/uchar_mbrtoc16.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar_mbrtoc16.obj -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc16.Tpo -c -o misc/lib64_libmingwex_a-uchar_mbrtoc16.obj `if test -f 'misc/uchar_mbrtoc16.c'; then $(CYGPATH_W) 'misc/uchar_mbrtoc16.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_mbrtoc16.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc16.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc16.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_mbrtoc16.c' object='misc/lib64_libmingwex_a-uchar_mbrtoc16.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar_mbrtoc16.obj `if test -f 'misc/uchar_mbrtoc16.c'; then $(CYGPATH_W) 'misc/uchar_mbrtoc16.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_mbrtoc16.c'; fi`
+
+misc/lib64_libmingwex_a-uchar_mbrtoc32.o: misc/uchar_mbrtoc32.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar_mbrtoc32.o -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc32.Tpo -c -o misc/lib64_libmingwex_a-uchar_mbrtoc32.o `test -f 'misc/uchar_mbrtoc32.c' || echo '$(srcdir)/'`misc/uchar_mbrtoc32.c
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc32.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_mbrtoc32.c' object='misc/lib64_libmingwex_a-uchar_mbrtoc32.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar_mbrtoc32.o `test -f 'misc/uchar_mbrtoc32.c' || echo '$(srcdir)/'`misc/uchar_mbrtoc32.c
+
+misc/lib64_libmingwex_a-uchar_mbrtoc32.obj: misc/uchar_mbrtoc32.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc/lib64_libmingwex_a-uchar_mbrtoc32.obj -MD -MP -MF misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc32.Tpo -c -o misc/lib64_libmingwex_a-uchar_mbrtoc32.obj `if test -f 'misc/uchar_mbrtoc32.c'; then $(CYGPATH_W) 'misc/uchar_mbrtoc32.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_mbrtoc32.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc32.Tpo misc/$(DEPDIR)/lib64_libmingwex_a-uchar_mbrtoc32.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='misc/uchar_mbrtoc32.c' object='misc/lib64_libmingwex_a-uchar_mbrtoc32.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc/lib64_libmingwex_a-uchar_mbrtoc32.obj `if test -f 'misc/uchar_mbrtoc32.c'; then $(CYGPATH_W) 'misc/uchar_mbrtoc32.c'; else $(CYGPATH_W) '$(srcdir)/misc/uchar_mbrtoc32.c'; fi`
 
 intrincs/lib64_libmingwex_a-ilockadd.o: intrincs/ilockadd.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT intrincs/lib64_libmingwex_a-ilockadd.o -MD -MP -MF intrincs/$(DEPDIR)/lib64_libmingwex_a-ilockadd.Tpo -c -o intrincs/lib64_libmingwex_a-ilockadd.o `test -f 'intrincs/ilockadd.c' || echo '$(srcdir)/'`intrincs/ilockadd.c
diff --git a/mingw-w64-crt/misc/uchar.c b/mingw-w64-crt/misc/uchar.c
deleted file mode 100644
index d420a78..0000000
--- a/mingw-w64-crt/misc/uchar.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the w64 mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
-/* ISO C1x Unicode utilities
- * Based on ISO/IEC SC22/WG14 9899 TR 19769 (SC22 N1326)
- *
- *  THIS SOFTWARE IS NOT COPYRIGHTED
- *
- *  This source code is offered for use in the public domain. You may
- *  use, modify or distribute it freely.
- *
- *  This code is distributed in the hope that it will be useful but
- *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- *  DISCLAIMED. This includes but is not limited to warranties of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- *  Date: 2011-09-27
- */
-
-#include <errno.h>
-#include <uchar.h>
-
-size_t mbrtoc16 (char16_t *__restrict__ pc16,
-		 const char *__restrict__ s,
-		 size_t n,
-		 mbstate_t *__restrict__ state)
-{
-/* wchar_t should compatible to char16_t on Windows */
-    return mbrtowc((wchar_t *)pc16, s, n, state);
-}
-
-size_t c16rtomb (char *__restrict__ s,
-		 char16_t c16,
-		 mbstate_t *__restrict__ state)
-{
-/* wchar_t should compatible to char16_t on Windows */
-    return wcrtomb(s, c16, state);
-}
-
-size_t mbrtoc32 (char32_t *__restrict__ pc32,
-		 const char *__restrict__ s,
-		 size_t n,
-		 mbstate_t *__restrict__ __UNUSED_PARAM(ps))
-{
-    if (*s == 0)
-    {
-	*pc32 = 0;
-	return 0;
-    }
-
-    /* ASCII character - high bit unset */
-    if ((*s & 0x80) == 0)
-    {
-	*pc32 = *s;
-	return 1;
-    }
-
-    /* Multibyte chars */
-    if ((*s & 0xE0) == 0xC0) /* 110xxxxx needs 2 bytes */
-    {
-	if (n < 2)
-	    return (size_t)-2;
-
-	*pc32 = ((s[0] & 31) << 6) | (s[1] & 63);
-	return 2;
-    }
-    else if ((*s & 0xf0) == 0xE0) /* 1110xxxx needs 3 bytes */
-    {
-	if (n < 3)
-	    return (size_t)-2;
-
-	*pc32 = ((s[0] & 15) << 12) | ((s[1] & 63) << 6) | (s[2] & 63);
-	return 3;
-    }
-    else if ((*s & 0xF8) == 0xF0) /* 11110xxx needs 4 bytes */
-    {
-	if (n < 4)
-	    return (size_t)-2;
-
-	*pc32 = ((s[0] & 7) << 18) | ((s[1] & 63) << 12) | ((s[2] & 63) << 6) | (s[4] & 63);
-	return 4;
-    }
-
-    errno = EILSEQ;
-    return (size_t)-1;
-}
-
-size_t c32rtomb (char *__restrict__ s,
-		 char32_t c32,
-		 mbstate_t *__restrict__ __UNUSED_PARAM(ps))
-{
-    if (c32 <= 0x7F) /* 7 bits needs 1 byte */
-    {
-	*s = (char)c32 & 0x7F;
-	return 1;
-    }
-    else if (c32 <= 0x7FF) /* 11 bits needs 2 bytes */
-    {
-	s[1] = 0x80 | (char)(c32 & 0x3F);
-	s[0] = 0xC0 | (char)(c32 >> 6);
-	return 2;
-    }
-    else if (c32 <= 0xFFFF) /* 16 bits needs 3 bytes */
-    {
-	s[2] = 0x80 | (char)(c32 & 0x3F);
-	s[1] = 0x80 | (char)((c32 >> 6) & 0x3F);
-	s[0] = 0xE0 | (char)(c32 >> 12);
-	return 3;
-    }
-    else if (c32 <= 0x1FFFFF) /* 21 bits needs 4 bytes */
-    {
-	s[3] = 0x80 | (char)(c32 & 0x3F);
-	s[2] = 0x80 | (char)((c32 >> 6) & 0x3F);
-	s[1] = 0x80 | (char)((c32 >> 12) & 0x3F);
-	s[0] = 0xF0 | (char)(c32 >> 18);
-	return 4;
-    }
-
-    errno = EILSEQ;
-    return (size_t)-1;
-}
-
diff --git a/mingw-w64-crt/misc/uchar_c16rtomb.c b/mingw-w64-crt/misc/uchar_c16rtomb.c
new file mode 100644
index 0000000..b3471bb
--- /dev/null
+++ b/mingw-w64-crt/misc/uchar_c16rtomb.c
@@ -0,0 +1,32 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+/* ISO C1x Unicode utilities
+ * Based on ISO/IEC SC22/WG14 9899 TR 19769 (SC22 N1326)
+ *
+ *  THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ *  This source code is offered for use in the public domain. You may
+ *  use, modify or distribute it freely.
+ *
+ *  This code is distributed in the hope that it will be useful but
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ *  DISCLAIMED. This includes but is not limited to warranties of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *  Date: 2011-09-27
+ */
+
+#include <errno.h>
+#include <uchar.h>
+
+size_t c16rtomb (char *__restrict__ s,
+		 char16_t c16,
+		 mbstate_t *__restrict__ state)
+{
+/* wchar_t should compatible to char16_t on Windows */
+    return wcrtomb(s, c16, state);
+}
+
diff --git a/mingw-w64-crt/misc/uchar_c32rtomb.c b/mingw-w64-crt/misc/uchar_c32rtomb.c
new file mode 100644
index 0000000..852a035
--- /dev/null
+++ b/mingw-w64-crt/misc/uchar_c32rtomb.c
@@ -0,0 +1,59 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+/* ISO C1x Unicode utilities
+ * Based on ISO/IEC SC22/WG14 9899 TR 19769 (SC22 N1326)
+ *
+ *  THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ *  This source code is offered for use in the public domain. You may
+ *  use, modify or distribute it freely.
+ *
+ *  This code is distributed in the hope that it will be useful but
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ *  DISCLAIMED. This includes but is not limited to warranties of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *  Date: 2011-09-27
+ */
+
+#include <errno.h>
+#include <uchar.h>
+
+size_t c32rtomb (char *__restrict__ s,
+		 char32_t c32,
+		 mbstate_t *__restrict__ __UNUSED_PARAM(ps))
+{
+    if (c32 <= 0x7F) /* 7 bits needs 1 byte */
+    {
+	*s = (char)c32 & 0x7F;
+	return 1;
+    }
+    else if (c32 <= 0x7FF) /* 11 bits needs 2 bytes */
+    {
+	s[1] = 0x80 | (char)(c32 & 0x3F);
+	s[0] = 0xC0 | (char)(c32 >> 6);
+	return 2;
+    }
+    else if (c32 <= 0xFFFF) /* 16 bits needs 3 bytes */
+    {
+	s[2] = 0x80 | (char)(c32 & 0x3F);
+	s[1] = 0x80 | (char)((c32 >> 6) & 0x3F);
+	s[0] = 0xE0 | (char)(c32 >> 12);
+	return 3;
+    }
+    else if (c32 <= 0x1FFFFF) /* 21 bits needs 4 bytes */
+    {
+	s[3] = 0x80 | (char)(c32 & 0x3F);
+	s[2] = 0x80 | (char)((c32 >> 6) & 0x3F);
+	s[1] = 0x80 | (char)((c32 >> 12) & 0x3F);
+	s[0] = 0xF0 | (char)(c32 >> 18);
+	return 4;
+    }
+
+    errno = EILSEQ;
+    return (size_t)-1;
+}
+
diff --git a/mingw-w64-crt/misc/uchar_mbrtoc16.c b/mingw-w64-crt/misc/uchar_mbrtoc16.c
new file mode 100644
index 0000000..2ef0257
--- /dev/null
+++ b/mingw-w64-crt/misc/uchar_mbrtoc16.c
@@ -0,0 +1,33 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+/* ISO C1x Unicode utilities
+ * Based on ISO/IEC SC22/WG14 9899 TR 19769 (SC22 N1326)
+ *
+ *  THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ *  This source code is offered for use in the public domain. You may
+ *  use, modify or distribute it freely.
+ *
+ *  This code is distributed in the hope that it will be useful but
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ *  DISCLAIMED. This includes but is not limited to warranties of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *  Date: 2011-09-27
+ */
+
+#include <errno.h>
+#include <uchar.h>
+
+size_t mbrtoc16 (char16_t *__restrict__ pc16,
+		 const char *__restrict__ s,
+		 size_t n,
+		 mbstate_t *__restrict__ state)
+{
+/* wchar_t should compatible to char16_t on Windows */
+    return mbrtowc((wchar_t *)pc16, s, n, state);
+}
+
diff --git a/mingw-w64-crt/misc/uchar_mbrtoc32.c b/mingw-w64-crt/misc/uchar_mbrtoc32.c
new file mode 100644
index 0000000..eb2ff93
--- /dev/null
+++ b/mingw-w64-crt/misc/uchar_mbrtoc32.c
@@ -0,0 +1,72 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+/* ISO C1x Unicode utilities
+ * Based on ISO/IEC SC22/WG14 9899 TR 19769 (SC22 N1326)
+ *
+ *  THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ *  This source code is offered for use in the public domain. You may
+ *  use, modify or distribute it freely.
+ *
+ *  This code is distributed in the hope that it will be useful but
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ *  DISCLAIMED. This includes but is not limited to warranties of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *  Date: 2011-09-27
+ */
+
+#include <errno.h>
+#include <uchar.h>
+
+size_t mbrtoc32 (char32_t *__restrict__ pc32,
+		 const char *__restrict__ s,
+		 size_t n,
+		 mbstate_t *__restrict__ __UNUSED_PARAM(ps))
+{
+    if (*s == 0)
+    {
+	*pc32 = 0;
+	return 0;
+    }
+
+    /* ASCII character - high bit unset */
+    if ((*s & 0x80) == 0)
+    {
+	*pc32 = *s;
+	return 1;
+    }
+
+    /* Multibyte chars */
+    if ((*s & 0xE0) == 0xC0) /* 110xxxxx needs 2 bytes */
+    {
+	if (n < 2)
+	    return (size_t)-2;
+
+	*pc32 = ((s[0] & 31) << 6) | (s[1] & 63);
+	return 2;
+    }
+    else if ((*s & 0xf0) == 0xE0) /* 1110xxxx needs 3 bytes */
+    {
+	if (n < 3)
+	    return (size_t)-2;
+
+	*pc32 = ((s[0] & 15) << 12) | ((s[1] & 63) << 6) | (s[2] & 63);
+	return 3;
+    }
+    else if ((*s & 0xF8) == 0xF0) /* 11110xxx needs 4 bytes */
+    {
+	if (n < 4)
+	    return (size_t)-2;
+
+	*pc32 = ((s[0] & 7) << 18) | ((s[1] & 63) << 12) | ((s[2] & 63) << 6) | (s[4] & 63);
+	return 4;
+    }
+
+    errno = EILSEQ;
+    return (size_t)-1;
+}
+
diff --git a/mingw-w64-crt/stdio/asprintf.c b/mingw-w64-crt/stdio/asprintf.c
index f1fb6c0..41e087c 100644
--- a/mingw-w64-crt/stdio/asprintf.c
+++ b/mingw-w64-crt/stdio/asprintf.c
@@ -29,20 +29,3 @@
   return len;
 }
 
-int __mingw_vasprintf(char ** __restrict__ ret,
-		      const char * __restrict__ format,
-		      va_list ap) {
-  int len;
-  /* Get Length */
-  len = __mingw_vsnprintf(NULL,0,format,ap);
-  if (len < 0) return -1;
-  /* +1 for \0 terminator. */
-  *ret = malloc(len + 1);
-  /* Check malloc fail*/
-  if (!*ret) return -1;
-  /* Write String */
-  __mingw_vsnprintf(*ret,len,format,ap);
-  /* Terminate explicitly */
-  *ret[len] = '\0';
-  return len;
-}
diff --git a/mingw-w64-crt/stdio/vasprintf.c b/mingw-w64-crt/stdio/vasprintf.c
new file mode 100644
index 0000000..8b1f64b
--- /dev/null
+++ b/mingw-w64-crt/stdio/vasprintf.c
@@ -0,0 +1,24 @@
+#define __CRT__NO_INLINE
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+int __mingw_vasprintf(char ** __restrict__ ret,
+		      const char * __restrict__ format,
+		      va_list ap) {
+  int len;
+  /* Get Length */
+  len = __mingw_vsnprintf(NULL,0,format,ap);
+  if (len < 0) return -1;
+  /* +1 for \0 terminator. */
+  *ret = malloc(len + 1);
+  /* Check malloc fail*/
+  if (!*ret) return -1;
+  /* Write String */
+  __mingw_vsnprintf(*ret,len,format,ap);
+  /* Terminate explicitly */
+  *ret[len] = '\0';
+  return len;
+}
+