diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h index ead844f..e62cfd4 100644 --- a/Source/WTF/wtf/Compiler.h +++ b/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 --- a/Source/WTF/wtf/TypeTraits.h +++ b/Source/WTF/wtf/TypeTraits.h @@ -75,6 +75,10 @@ namespace WTF { #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED) template<> struct IsInteger { static const bool value = true; }; #endif +#if COMPILER_SUPPORTS(CXX_NEW_CHAR_TYPES) + template<> struct IsInteger { static const bool value = true; }; + template<> struct IsInteger { static const bool value = true; }; +#endif template struct IsFloatingPoint { static const bool value = false; }; template<> struct IsFloatingPoint { static const bool value = true; }; ---qtwebkit-opensource-src-5.5.1/Source/JavaScriptCore/API/JSStringRef.h.orig 2015-10-13 06:37:10.000000000 +0200 +++ qtwebkit-opensource-src-5.5.1/Source/JavaScriptCore/API/JSStringRef.h 2017-04-24 12:26:42.495345570 +0200 @@ -32,6 +32,7 @@ #include #endif #include /* for size_t */ +#include #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 --- qtwebkit-opensource-src-5.5.1/Source/WebKit2/Shared/API/c/WKString.h.orig 2015-10-13 06:37:12.000000000 +0200 +++ qtwebkit-opensource-src-5.5.1/Source/WebKit2/Shared/API/c/WKString.h 2017-04-24 12:27:33.432011867 +0200 @@ -31,6 +31,7 @@ #ifndef __cplusplus #include #endif +#include #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