Diff
Modified: trunk/ChangeLog (231169 => 231170)
--- trunk/ChangeLog 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/ChangeLog 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,3 +1,41 @@
+2018-04-30 JF Bastien <[email protected]>
+
+ Use some C++17 features
+ https://bugs.webkit.org/show_bug.cgi?id=185135
+
+ Reviewed by Alex Christensen.
+
+ As discussed here [0] let's move WebKit to a subset of C++17. We
+ now require GCC 6 [1] which means that, according to [2] we can
+ use the following C++17 language features (I removed some
+ uninteresting ones):
+
+ - New auto rules for direct-list-initialization
+ - static_assert with no message
+ - typename in a template template parameter
+ - Nested namespace definition
+ - Attributes for namespaces and enumerators
+ - u8 character literals
+ - Allow constant evaluation for all non-type template arguments
+ - Fold Expressions
+ - Unary fold expressions and empty parameter packs
+ - __has_include in preprocessor conditional
+ - Differing begin and end types in range-based for
+ - Improving std::pair and std::tuple
+
+ Consult the Tony Tables [3] to see before / after examples.
+
+ Of course we can use any library feature if we're willing to
+ import them to WTF (and they don't require language support).
+
+
+ [0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html
+ [1]: https://trac.webkit.org/changeset/231152/webkit
+ [2]: https://en.cppreference.com/w/cpp/compiler_support
+ [3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md
+
+ * Source/cmake/WebKitCompilerFlags.cmake:
+
2018-04-29 Michael Catanzaro <[email protected]>
[CMake] Require GCC 6
Modified: trunk/Source/WTF/ChangeLog (231169 => 231170)
--- trunk/Source/WTF/ChangeLog 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WTF/ChangeLog 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,3 +1,13 @@
+2018-04-30 JF Bastien <[email protected]>
+
+ Use some C++17 features
+ https://bugs.webkit.org/show_bug.cgi?id=185135
+
+ Reviewed by Alex Christensen.
+
+ * wtf/StdLibExtras.h: libstdc++ doesn't say it's C++17 when it
+ defines std::conjunction. Use the feature test macro instead.
+
2018-04-30 Yusuke Suzuki <[email protected]>
Use WordLock instead of std::mutex for Threading
Modified: trunk/Source/WTF/wtf/StdLibExtras.h (231169 => 231170)
--- trunk/Source/WTF/wtf/StdLibExtras.h 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WTF/wtf/StdLibExtras.h 2018-04-30 21:17:59 UTC (rev 231170)
@@ -534,7 +534,7 @@
return move(forward<T>(value));
}
-#if __cplusplus < 201703L && (!defined(_MSC_FULL_VER) || _MSC_FULL_VER < 190023918)
+#if __cplusplus < 201703L && (!defined(_MSC_FULL_VER) || _MSC_FULL_VER < 190023918) && !defined(__cpp_lib_logical_traits)
template<class...> struct wtf_conjunction_impl;
template<> struct wtf_conjunction_impl<> : true_type { };
template<class B0> struct wtf_conjunction_impl<B0> : B0 { };
Modified: trunk/Source/WebCore/ChangeLog (231169 => 231170)
--- trunk/Source/WebCore/ChangeLog 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebCore/ChangeLog 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,3 +1,48 @@
+2018-04-30 JF Bastien <[email protected]>
+
+ Use some C++17 features
+ https://bugs.webkit.org/show_bug.cgi?id=185135
+
+ Reviewed by Alex Christensen.
+
+ As discussed here [0] let's move WebKit to a subset of C++17. We
+ now require GCC 6 [1] which means that, according to [2] we can
+ use the following C++17 language features (I removed some
+ uninteresting ones):
+
+ - New auto rules for direct-list-initialization
+ - static_assert with no message
+ - typename in a template template parameter
+ - Nested namespace definition
+ - Attributes for namespaces and enumerators
+ - u8 character literals
+ - Allow constant evaluation for all non-type template arguments
+ - Fold Expressions
+ - Unary fold expressions and empty parameter packs
+ - __has_include in preprocessor conditional
+ - Differing begin and end types in range-based for
+ - Improving std::pair and std::tuple
+
+ Consult the Tony Tables [3] to see before / after examples.
+
+ Of course we can use any library feature if we're willing to
+ import them to WTF (and they don't require language support).
+
+
+ [0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html
+ [1]: https://trac.webkit.org/changeset/231152/webkit
+ [2]: https://en.cppreference.com/w/cpp/compiler_support
+ [3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md
+
+ * DerivedSources.make:
+ * platform/URLParser.cpp: work around an odd GCC 6 bug with class
+ static value as a template parameter.
+ (WebCore::URLParser::percentDecode):
+ (WebCore::URLParser::domainToASCII):
+ (WebCore::URLParser::hasForbiddenHostCodePoint):
+ (WebCore::URLParser::parseHostAndPort):
+ * platform/URLParser.h:
+
2018-04-30 Wenson Hsieh <[email protected]>
[Extra zoom mode] Respect the existing shrink-to-fit attribute instead of using min-device-width
Modified: trunk/Source/WebCore/DerivedSources.make (231169 => 231170)
--- trunk/Source/WebCore/DerivedSources.make 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebCore/DerivedSources.make 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1015,19 +1015,19 @@
TARGET_TRIPLE_FLAGS=-target $(CURRENT_ARCH)-$(LLVM_TARGET_TRIPLE_VENDOR)-$(LLVM_TARGET_TRIPLE_OS_VERSION)$(LLVM_TARGET_TRIPLE_SUFFIX)
endif
-ifeq ($(shell $(CC) -std=gnu++14 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep ' WTF_PLATFORM_IOS ' | cut -d' ' -f3), 1)
+ifeq ($(shell $(CC) -std=gnu++17 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep ' WTF_PLATFORM_IOS ' | cut -d' ' -f3), 1)
WTF_PLATFORM_IOS = 1
else
WTF_PLATFORM_IOS = 0
endif
-ifeq ($(shell $(CC) -std=gnu++14 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep USE_APPLE_INTERNAL_SDK | cut -d' ' -f3), 1)
+ifeq ($(shell $(CC) -std=gnu++17 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep USE_APPLE_INTERNAL_SDK | cut -d' ' -f3), 1)
USE_APPLE_INTERNAL_SDK = 1
else
USE_APPLE_INTERNAL_SDK = 0
endif
-ifeq ($(shell $(CC) -std=gnu++14 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep ENABLE_ORIENTATION_EVENTS | cut -d' ' -f3), 1)
+ifeq ($(shell $(CC) -std=gnu++17 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep ENABLE_ORIENTATION_EVENTS | cut -d' ' -f3), 1)
ENABLE_ORIENTATION_EVENTS = 1
endif
Modified: trunk/Source/WebCore/platform/URLParser.cpp (231169 => 231170)
--- trunk/Source/WebCore/platform/URLParser.cpp 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebCore/platform/URLParser.cpp 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2016-2018 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -2495,9 +2495,9 @@
}
template<typename CharacterType>
-Vector<LChar, URLParser::defaultInlineBufferSize> URLParser::percentDecode(const LChar* input, size_t length, const CodePointIterator<CharacterType>& iteratorForSyntaxViolationPosition)
+URLParser::LCharBuffer URLParser::percentDecode(const LChar* input, size_t length, const CodePointIterator<CharacterType>& iteratorForSyntaxViolationPosition)
{
- Vector<LChar, defaultInlineBufferSize> output;
+ LCharBuffer output;
output.reserveInitialCapacity(length);
for (size_t i = 0; i < length; ++i) {
@@ -2517,9 +2517,9 @@
return output;
}
-Vector<LChar, URLParser::defaultInlineBufferSize> URLParser::percentDecode(const LChar* input, size_t length)
+URLParser::LCharBuffer URLParser::percentDecode(const LChar* input, size_t length)
{
- Vector<LChar, defaultInlineBufferSize> output;
+ LCharBuffer output;
output.reserveInitialCapacity(length);
for (size_t i = 0; i < length; ++i) {
@@ -2538,9 +2538,9 @@
return output;
}
-template<typename CharacterType> std::optional<Vector<LChar, URLParser::defaultInlineBufferSize>> URLParser::domainToASCII(StringImpl& domain, const CodePointIterator<CharacterType>& iteratorForSyntaxViolationPosition)
+template<typename CharacterType> std::optional<URLParser::LCharBuffer> URLParser::domainToASCII(StringImpl& domain, const CodePointIterator<CharacterType>& iteratorForSyntaxViolationPosition)
{
- Vector<LChar, defaultInlineBufferSize> ascii;
+ LCharBuffer ascii;
if (domain.isAllASCII()) {
size_t length = domain.length();
if (domain.is8Bit()) {
@@ -2584,7 +2584,7 @@
return std::nullopt;
}
-bool URLParser::hasForbiddenHostCodePoint(const Vector<LChar, URLParser::defaultInlineBufferSize>& asciiDomain)
+bool URLParser::hasForbiddenHostCodePoint(const URLParser::LCharBuffer& asciiDomain)
{
for (size_t i = 0; i < asciiDomain.size(); ++i) {
if (isForbiddenHostCodePoint(asciiDomain[i]))
@@ -2733,7 +2733,7 @@
const auto hostBegin = iterator;
- Vector<LChar, defaultInlineBufferSize> utf8Encoded;
+ LCharBuffer utf8Encoded;
for (; !iterator.atEnd(); ++iterator) {
if (UNLIKELY(isTabOrNewline(*iterator))) {
syntaxViolation(hostBegin);
@@ -2752,7 +2752,7 @@
// FIXME: Check error.
utf8Encoded.append(buffer, offset);
}
- Vector<LChar, defaultInlineBufferSize> percentDecoded = percentDecode(utf8Encoded.data(), utf8Encoded.size(), hostBegin);
+ LCharBuffer percentDecoded = percentDecode(utf8Encoded.data(), utf8Encoded.size(), hostBegin);
String domain = String::fromUTF8(percentDecoded.data(), percentDecoded.size());
if (domain.isNull())
return false;
@@ -2761,7 +2761,7 @@
auto asciiDomain = domainToASCII(*domain.impl(), hostBegin);
if (!asciiDomain || hasForbiddenHostCodePoint(asciiDomain.value()))
return false;
- Vector<LChar, defaultInlineBufferSize>& asciiDomainValue = asciiDomain.value();
+ LCharBuffer& asciiDomainValue = asciiDomain.value();
const LChar* asciiDomainCharacters = asciiDomainValue.data();
auto address = parseIPv4Host(hostBegin, CodePointIterator<LChar>(asciiDomainValue.begin(), asciiDomainValue.end()));
Modified: trunk/Source/WebCore/platform/URLParser.h (231169 => 231170)
--- trunk/Source/WebCore/platform/URLParser.h 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebCore/platform/URLParser.h 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2016-2018 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -67,7 +67,8 @@
const void* m_inputBegin { nullptr };
bool m_didSeeSyntaxViolation { false };
- const static size_t defaultInlineBufferSize = 2048;
+ static constexpr size_t defaultInlineBufferSize = 2048;
+ using LCharBuffer = Vector<LChar, defaultInlineBufferSize>;
template<typename CharacterType> void parse(const CharacterType*, const unsigned length, const URL&, const TextEncoding&);
template<typename CharacterType> void parseAuthority(CodePointIterator<CharacterType>);
@@ -97,11 +98,11 @@
template<typename UnsignedIntegerType> void appendNumberToASCIIBuffer(UnsignedIntegerType);
template<bool(*isInCodeSet)(UChar32), typename CharacterType> void utf8PercentEncode(const CodePointIterator<CharacterType>&);
template<typename CharacterType> void utf8QueryEncode(const CodePointIterator<CharacterType>&);
- template<typename CharacterType> std::optional<Vector<LChar, defaultInlineBufferSize>> domainToASCII(StringImpl&, const CodePointIterator<CharacterType>& iteratorForSyntaxViolationPosition);
- template<typename CharacterType> Vector<LChar, defaultInlineBufferSize> percentDecode(const LChar*, size_t, const CodePointIterator<CharacterType>& iteratorForSyntaxViolationPosition);
- static Vector<LChar, defaultInlineBufferSize> percentDecode(const LChar*, size_t);
+ template<typename CharacterType> std::optional<LCharBuffer> domainToASCII(StringImpl&, const CodePointIterator<CharacterType>& iteratorForSyntaxViolationPosition);
+ template<typename CharacterType> LCharBuffer percentDecode(const LChar*, size_t, const CodePointIterator<CharacterType>& iteratorForSyntaxViolationPosition);
+ static LCharBuffer percentDecode(const LChar*, size_t);
static std::optional<String> formURLDecode(StringView input);
- static bool hasForbiddenHostCodePoint(const Vector<LChar, defaultInlineBufferSize>&);
+ static bool hasForbiddenHostCodePoint(const LCharBuffer&);
void percentEncodeByte(uint8_t);
void appendToASCIIBuffer(UChar32);
void appendToASCIIBuffer(const char*, size_t);
Modified: trunk/Source/WebKit/ChangeLog (231169 => 231170)
--- trunk/Source/WebKit/ChangeLog 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebKit/ChangeLog 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,3 +1,43 @@
+2018-04-30 JF Bastien <[email protected]>
+
+ Use some C++17 features
+ https://bugs.webkit.org/show_bug.cgi?id=185135
+
+ Reviewed by Alex Christensen.
+
+ As discussed here [0] let's move WebKit to a subset of C++17. We
+ now require GCC 6 [1] which means that, according to [2] we can
+ use the following C++17 language features (I removed some
+ uninteresting ones):
+
+ - New auto rules for direct-list-initialization
+ - static_assert with no message
+ - typename in a template template parameter
+ - Nested namespace definition
+ - Attributes for namespaces and enumerators
+ - u8 character literals
+ - Allow constant evaluation for all non-type template arguments
+ - Fold Expressions
+ - Unary fold expressions and empty parameter packs
+ - __has_include in preprocessor conditional
+ - Differing begin and end types in range-based for
+ - Improving std::pair and std::tuple
+
+ Consult the Tony Tables [3] to see before / after examples.
+
+ Of course we can use any library feature if we're willing to
+ import them to WTF (and they don't require language support).
+
+
+ [0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html
+ [1]: https://trac.webkit.org/changeset/231152/webkit
+ [2]: https://en.cppreference.com/w/cpp/compiler_support
+ [3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md
+
+ * Configurations/Base.xcconfig:
+ * DerivedSources.make:
+ * PlatformMac.cmake:
+
2018-04-30 Wenson Hsieh <[email protected]>
[Extra zoom mode] Respect the existing shrink-to-fit attribute instead of using min-device-width
Modified: trunk/Source/WebKit/Configurations/Base.xcconfig (231169 => 231170)
--- trunk/Source/WebKit/Configurations/Base.xcconfig 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebKit/Configurations/Base.xcconfig 2018-04-30 21:17:59 UTC (rev 231170)
@@ -128,7 +128,7 @@
SUPPORTS_TEXT_BASED_API[sdk=watch*] = NO;
OTHER_TAPI_FLAGS = $(OTHER_TAPI_FLAGS_$(WK_COCOA_TOUCH));
-OTHER_TAPI_FLAGS_cocoatouch = -x objective-c++ -std=c++14 -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
+OTHER_TAPI_FLAGS_cocoatouch = -x objective-c++ -std=c++17 -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
TAPI_VERIFY_MODE[sdk=iphone*] = Pedantic;
// This is required to make LLVM_TARGET_TRIPLE_SUFFIX propagate into scripts.
Modified: trunk/Source/WebKit/DerivedSources.make (231169 => 231170)
--- trunk/Source/WebKit/DerivedSources.make 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebKit/DerivedSources.make 2018-04-30 21:17:59 UTC (rev 231170)
@@ -268,7 +268,7 @@
#
ifeq ($(OS),MACOS)
-ifeq ($(shell $(CC) -std=gnu++14 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep ' WTF_PLATFORM_IOS ' | cut -d' ' -f3), 1)
+ifeq ($(shell $(CC) -std=gnu++17 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep ' WTF_PLATFORM_IOS ' | cut -d' ' -f3), 1)
AUTOMATION_BACKEND_PLATFORM_ARGUMENTS = --platform iOS
else
AUTOMATION_BACKEND_PLATFORM_ARGUMENTS = --platform macOS
Modified: trunk/Source/WebKit/PlatformMac.cmake (231169 => 231170)
--- trunk/Source/WebKit/PlatformMac.cmake 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebKit/PlatformMac.cmake 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,4 +1,4 @@
-add_definitions("-ObjC++ -std=c++14")
+add_definitions("-ObjC++ -std=c++17")
find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
find_library(CARBON_LIBRARY Carbon)
find_library(QUARTZ_LIBRARY Quartz)
Modified: trunk/Source/WebKitLegacy/ChangeLog (231169 => 231170)
--- trunk/Source/WebKitLegacy/ChangeLog 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebKitLegacy/ChangeLog 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,3 +1,12 @@
+2018-04-30 JF Bastien <[email protected]>
+
+ Use some C++17 features
+ https://bugs.webkit.org/show_bug.cgi?id=185135
+
+ Reviewed by Alex Christensen.
+
+ * PlatformMac.cmake:
+
2018-04-16 Youenn Fablet <[email protected]>
Use NetworkLoadChecker to handle synchronous HTTP loads
Modified: trunk/Source/WebKitLegacy/PlatformMac.cmake (231169 => 231170)
--- trunk/Source/WebKitLegacy/PlatformMac.cmake 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebKitLegacy/PlatformMac.cmake 2018-04-30 21:17:59 UTC (rev 231170)
@@ -396,7 +396,7 @@
foreach (_file ${WebKitLegacy_SOURCES})
list(FIND C99_FILES ${_file} _c99_index)
if (${_c99_index} EQUAL -1)
- set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++14")
+ set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++17")
else ()
set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c99)
endif ()
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (231169 => 231170)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,3 +1,12 @@
+2018-04-30 JF Bastien <[email protected]>
+
+ Use some C++17 features
+ https://bugs.webkit.org/show_bug.cgi?id=185135
+
+ Reviewed by Alex Christensen.
+
+ * Configurations/WebKitLegacy.xcconfig:
+
2018-04-27 Chris Dumez <[email protected]>
Use WindowProxy instead of DOMWindow in our IDL
Modified: trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig (231169 => 231170)
--- trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig 2018-04-30 21:17:59 UTC (rev 231170)
@@ -139,5 +139,5 @@
SUPPORTS_TEXT_BASED_API[sdk=iphone*] = $(USE_INTERNAL_SDK);
SUPPORTS_TEXT_BASED_API[sdk=appletv*] = NO;
SUPPORTS_TEXT_BASED_API[sdk=watch*] = NO;
-OTHER_TAPI_FLAGS[sdk=iphone*] = -x objective-c++ -std=c++14 -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
+OTHER_TAPI_FLAGS[sdk=iphone*] = -x objective-c++ -std=c++17 -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
TAPI_VERIFY_MODE[sdk=iphone*] = Pedantic;
Modified: trunk/Source/cmake/WebKitCompilerFlags.cmake (231169 => 231170)
--- trunk/Source/cmake/WebKitCompilerFlags.cmake 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Source/cmake/WebKitCompilerFlags.cmake 2018-04-30 21:17:59 UTC (rev 231170)
@@ -102,7 +102,7 @@
-Wno-unknown-argument)
else ()
WEBKIT_APPEND_GLOBAL_COMPILER_FLAGS(-fno-exceptions)
- WEBKIT_APPEND_GLOBAL_CXX_FLAGS(-std=c++14
+ WEBKIT_APPEND_GLOBAL_CXX_FLAGS(-std=c++17
-fno-rtti)
if (WIN32)
Modified: trunk/Tools/ChangeLog (231169 => 231170)
--- trunk/Tools/ChangeLog 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Tools/ChangeLog 2018-04-30 21:17:59 UTC (rev 231170)
@@ -1,3 +1,14 @@
+2018-04-30 JF Bastien <[email protected]>
+
+ Use some C++17 features
+ https://bugs.webkit.org/show_bug.cgi?id=185135
+
+ Reviewed by Alex Christensen.
+
+ * DumpRenderTree/PlatformMac.cmake:
+ * gtk/ycm_extra_conf.py:
+ (FlagsForFile):
+
2018-04-30 Yusuke Suzuki <[email protected]>
Use WordLock instead of std::mutex for Threading
Modified: trunk/Tools/DumpRenderTree/PlatformMac.cmake (231169 => 231170)
--- trunk/Tools/DumpRenderTree/PlatformMac.cmake 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Tools/DumpRenderTree/PlatformMac.cmake 2018-04-30 21:17:59 UTC (rev 231170)
@@ -106,11 +106,11 @@
endforeach ()
foreach (_file ${DumpRenderTree_Cpp_SOURCES} ${TestNetscapePlugIn_Cpp_SOURCES})
- set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-std=c++14")
+ set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-std=c++17")
endforeach ()
foreach (_file ${DumpRenderTree_ObjCpp_SOURCES} ${TestNetscapePlugIn_ObjCpp_SOURCES})
- set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++14")
+ set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++17")
endforeach ()
set(DumpRenderTree_RESOURCES
Modified: trunk/Tools/gtk/ycm_extra_conf.py (231169 => 231170)
--- trunk/Tools/gtk/ycm_extra_conf.py 2018-04-30 21:06:05 UTC (rev 231169)
+++ trunk/Tools/gtk/ycm_extra_conf.py 2018-04-30 21:17:59 UTC (rev 231170)
@@ -93,7 +93,7 @@
'do_cache': (Boolean) True if the result should be cached.
"""
- result = {'flags': ['-std=c++11', '-x', 'c++'], 'do_cache': True}
+ result = {'flags': ['-std=c++17', '-x', 'c++'], 'do_cache': True}
# Headers can't be built, so we get the source file flags instead.
if filename.endswith('.h'):