Define char16_t and char32_t to make gcc 5.1 happy

gcc 5.1 doesn't define char16_t and char32_t (unless in C++ mode),
causing compile failures.

Change-Id: I08dcd13cdf8cd59a4a2f191864bedf4c0d1bb313
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
diff --git a/libc/include/uchar.h b/libc/include/uchar.h
index e1fcb5c..0ec9d2e 100644
--- a/libc/include/uchar.h
+++ b/libc/include/uchar.h
@@ -34,6 +34,11 @@
 
 __BEGIN_DECLS
 
+#if defined(__GNUC__) && __GNUC__ >= 5 && !defined(__cplusplus)
+typedef __CHAR16_TYPE__ char16_t;
+typedef __CHAR32_TYPE__ char32_t;
+#endif
+
 #define __STD_UTF_16__ 1
 #define __STD_UTF_32__ 1