73 lines
2.6 KiB
Diff
73 lines
2.6 KiB
Diff
diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h
|
|
index ead844f..e62cfd4 100644
|
|
--- Source/WTF/wtf/Compiler.h
|
|
+++ Source/WTF/wtf/Compiler.h
|
|
@@ -61,6 +61,7 @@
|
|
#define WTF_COMPILER_SUPPORTS_HAS_TRIVIAL_DESTRUCTOR __has_feature(has_trivial_destructor)
|
|
#define WTF_COMPILER_SUPPORTS_CXX_STRONG_ENUMS __has_feature(cxx_strong_enums)
|
|
#define WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS __has_feature(cxx_reference_qualified_functions)
|
|
+#define WTF_COMPILER_SUPPORTS_CXX_NEW_CHAR_TYPES !defined(_LIBCPP_HAS_NO_UNICODE_CHARS)
|
|
|
|
#endif
|
|
|
|
@@ -142,6 +143,7 @@
|
|
#define WTF_COMPILER_SUPPORTS_CXX_DELETED_FUNCTIONS 1
|
|
#endif
|
|
#if GCC_VERSION_AT_LEAST(4, 5, 0)
|
|
+#define WTF_COMPILER_SUPPORTS_CXX_NEW_CHAR_TYPES 1
|
|
#define WTF_COMPILER_SUPPORTS_CXX_EXPLICIT_CONVERSIONS 1
|
|
#endif
|
|
#if GCC_VERSION_AT_LEAST(4, 6, 0)
|
|
diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h
|
|
index b9e46bc..876fa45 100644
|
|
--- Source/WTF/wtf/TypeTraits.h
|
|
+++ Source/WTF/wtf/TypeTraits.h
|
|
@@ -75,6 +75,10 @@ namespace WTF {
|
|
#if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
|
|
template<> struct IsInteger<wchar_t> { static const bool value = true; };
|
|
#endif
|
|
+#if COMPILER_SUPPORTS(CXX_NEW_CHAR_TYPES)
|
|
+ template<> struct IsInteger<char16_t> { static const bool value = true; };
|
|
+ template<> struct IsInteger<char32_t> { static const bool value = true; };
|
|
+#endif
|
|
|
|
template<typename T> struct IsFloatingPoint { static const bool value = false; };
|
|
template<> struct IsFloatingPoint<float> { static const bool value = true; };
|
|
--- Source/JavaScriptCore/API/JSStringRef.h.orig 2015-10-13 06:37:10.000000000 +0200
|
|
+++ Source/JavaScriptCore/API/JSStringRef.h 2017-04-24 12:26:42.495345570 +0200
|
|
@@ -32,6 +32,7 @@
|
|
#include <stdbool.h>
|
|
#endif
|
|
#include <stddef.h> /* for size_t */
|
|
+#include <uchar.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
@@ -43,7 +44,7 @@
|
|
@typedef JSChar
|
|
@abstract A Unicode character.
|
|
*/
|
|
- typedef unsigned short JSChar;
|
|
+ typedef char16_t JSChar;
|
|
#else
|
|
typedef wchar_t JSChar;
|
|
#endif
|
|
--- Source/WebKit2/Shared/API/c/WKString.h.orig 2015-10-13 06:37:12.000000000 +0200
|
|
+++ Source/WebKit2/Shared/API/c/WKString.h 2017-04-24 12:27:33.432011867 +0200
|
|
@@ -31,6 +31,7 @@
|
|
#ifndef __cplusplus
|
|
#include <stdbool.h>
|
|
#endif
|
|
+#include <uchar.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
@@ -38,7 +39,7 @@
|
|
|
|
#if !defined(WIN32) && !defined(_WIN32) \
|
|
&& !((defined(__CC_ARM) || defined(__ARMCC__)) && !defined(__linux__)) /* RVCT */
|
|
- typedef unsigned short WKChar;
|
|
+ typedef char16_t WKChar;
|
|
#else
|
|
typedef wchar_t WKChar;
|
|
#endif
|