Index: source/common/unicode/umachine.h |
diff --git a/source/common/unicode/umachine.h b/source/common/unicode/umachine.h |
index 939a11706ad2dfa7ff789ba011b3e1a9a4eea37e..51581c7dcdc187120105481dbbcbab1a06aaf044 100644 |
--- a/source/common/unicode/umachine.h |
+++ b/source/common/unicode/umachine.h |
@@ -1,3 +1,5 @@ |
+// Copyright (C) 2016 and later: Unicode, Inc. and others. |
+// License & terms of use: http://www.unicode.org/copyright.html |
/* |
****************************************************************************** |
* |
@@ -49,6 +51,29 @@ |
*/ |
#include <stddef.h> |
+#ifndef U_HIDE_INTERNAL_API |
+/* |
+ * U_USE_CHAR16_T |
+ * When defined, force use of char16_t for UChar. |
+ * Note: char16_t is expected to become the default and required in the future, |
+ * and this option will be removed. |
+ * @internal |
+ */ |
+#ifdef U_USE_CHAR16_T |
+#ifdef UCHAR_TYPE |
+#undef UCHAR_TYPE |
+#endif |
+#define UCHAR_TYPE char16_t |
+ |
+/* |
+ * In plain C, <uchar.h> is needed for the definition of char16_t |
+ */ |
+#ifndef __cplusplus |
+#include <uchar.h> |
+#endif |
+#endif |
+#endif /* U_HIDE_INTERNAL_API */ |
+ |
/*==========================================================================*/ |
/* For C wrappers, we use the symbol U_STABLE. */ |
/* This works properly if the includer is C or C++. */ |