From d8d9b1eb468f5e5d5d9f0b196fc0acb641998c8b Mon Sep 17 00:00:00 2001
From: Konstantin Tokarev <annulen@yandex.ru>
Date: Thu, 4 May 2017 15:12:37 +0300
Subject: [PATCH] Fix compilation with ICU 59
Upstream fix: https://bugs.webkit.org/show_bug.cgi?id=171612
Task-number: QTBUG-60532
Change-Id: I6014feea213aa70ebe40b09d9d1a03fd1ed3c843
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
Source/JavaScriptCore/API/JSStringRef.cpp | 6 +++---
Source/JavaScriptCore/runtime/DateConversion.cpp | 3 ++-
Source/WTF/wtf/TypeTraits.h | 3 +++
Source/WebKit2/Shared/API/c/WKString.cpp | 2 +-
4 files changed, 9 insertions(+), 5 deletions(-)
diff --git Source/JavaScriptCore/API/JSStringRef.cpp Source/JavaScriptCore/API/JSStringRef.cpp
index 812f3d413..77a3fd0f4 100644
|
|
using namespace WTF::Unicode; |
37 | 37 | JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars) |
38 | 38 | { |
39 | 39 | initializeThreading(); |
40 | | return OpaqueJSString::create(chars, numChars).leakRef(); |
| 40 | return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef(); |
41 | 41 | } |
42 | 42 | |
43 | 43 | JSStringRef JSStringCreateWithUTF8CString(const char* string) |
… |
… |
JSStringRef JSStringCreateWithUTF8CString(const char* string) |
62 | 62 | JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars) |
63 | 63 | { |
64 | 64 | initializeThreading(); |
65 | | return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef(); |
| 65 | return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef(); |
66 | 66 | } |
67 | 67 | |
68 | 68 | JSStringRef JSStringRetain(JSStringRef string) |
… |
… |
size_t JSStringGetLength(JSStringRef string) |
83 | 83 | |
84 | 84 | const JSChar* JSStringGetCharactersPtr(JSStringRef string) |
85 | 85 | { |
86 | | return string->characters(); |
| 86 | return reinterpret_cast<const JSChar*>(string->characters()); |
87 | 87 | } |
88 | 88 | |
89 | 89 | size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string) |
diff --git Source/JavaScriptCore/runtime/DateConversion.cpp Source/JavaScriptCore/runtime/DateConversion.cpp
index 0b57f012d..05e27338b 100644
|
|
String formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool as |
107 | 107 | #if OS(WINDOWS) |
108 | 108 | TIME_ZONE_INFORMATION timeZoneInformation; |
109 | 109 | GetTimeZoneInformation(&timeZoneInformation); |
110 | | const WCHAR* timeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName; |
| 110 | const WCHAR* winTimeZoneName = t.isDST() ? timeZoneInformation.DaylightName : timeZoneInformation.StandardName; |
| 111 | String timeZoneName(reinterpret_cast<const UChar*>(winTimeZoneName)); |
111 | 112 | #else |
112 | 113 | struct tm gtm = t; |
113 | 114 | char timeZoneName[70]; |
diff --git Source/WTF/wtf/TypeTraits.h Source/WTF/wtf/TypeTraits.h
index 9df2c95cf..f5d6121fd 100644
|
|
namespace WTF { |
72 | 72 | template<> struct IsInteger<unsigned long> { static const bool value = true; }; |
73 | 73 | template<> struct IsInteger<long long> { static const bool value = true; }; |
74 | 74 | template<> struct IsInteger<unsigned long long> { static const bool value = true; }; |
| 75 | #if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT) |
| 76 | template<> struct IsInteger<char16_t> { static const bool value = true; }; |
| 77 | #endif |
75 | 78 | #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED) |
76 | 79 | template<> struct IsInteger<wchar_t> { static const bool value = true; }; |
77 | 80 | #endif |
diff --git Source/WebKit2/Shared/API/c/WKString.cpp Source/WebKit2/Shared/API/c/WKString.cpp
index cbac67dd8..23400a64e 100644
|
|
size_t WKStringGetLength(WKStringRef stringRef) |
55 | 55 | size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength) |
56 | 56 | { |
57 | 57 | COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar); |
58 | | return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength)); |
| 58 | return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength)); |
59 | 59 | } |
60 | 60 | |
61 | 61 | size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef) |