Use more C++17
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 May 2018 06:46:43 +0000 (06:46 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 May 2018 06:46:43 +0000 (06:46 +0000)
https://bugs.webkit.org/show_bug.cgi?id=185176

Reviewed by JF Bastien.

PerformanceTests:

* MallocBench/MallocBench.xcodeproj/project.pbxproj:
* MediaTime/Configurations/Base.xcconfig:
* MediaTime/MediaTime.xcodeproj/project.pbxproj:

Source/bmalloc:

Add BNO_RETURN.

* Configurations/Base.xcconfig:
* bmalloc/BCompiler.h:
* bmalloc/Scavenger.h:

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:
* DerivedSources.make:
* platform/ios/LegacyTileGrid.mm:
(WebCore::LegacyTileGrid::dropDistantTiles):

Source/WebCore/PAL:

* Configurations/Base.xcconfig:

Source/WebInspectorUI:

* Configurations/Base.xcconfig:

Source/WebKit:

* Configurations/Base.xcconfig:
* DerivedSources.make:

Source/WebKitLegacy/mac:

* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:
* wtf/StdLibExtras.h:

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* ImageDiff/cg/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MobileMiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232052 268f45cc-cd09-0410-ab3c-d52691b4dbfc

38 files changed:
PerformanceTests/ChangeLog
PerformanceTests/MallocBench/MallocBench.xcodeproj/project.pbxproj
PerformanceTests/MediaTime/Configurations/Base.xcconfig
PerformanceTests/MediaTime/MediaTime.xcodeproj/project.pbxproj
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/Base.xcconfig
Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/Configurations/Base.xcconfig
Source/ThirdParty/ChangeLog
Source/ThirdParty/gtest/xcode/Config/General.xcconfig
Source/WTF/ChangeLog
Source/WTF/Configurations/Base.xcconfig
Source/WTF/wtf/StdLibExtras.h
Source/WebCore/ChangeLog
Source/WebCore/Configurations/Base.xcconfig
Source/WebCore/DerivedSources.make
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/Configurations/Base.xcconfig
Source/WebCore/platform/ios/LegacyTileGrid.mm
Source/WebInspectorUI/ChangeLog
Source/WebInspectorUI/Configurations/Base.xcconfig
Source/WebKit/ChangeLog
Source/WebKit/Configurations/Base.xcconfig
Source/WebKit/DerivedSources.make
Source/WebKitLegacy/mac/ChangeLog
Source/WebKitLegacy/mac/Configurations/Base.xcconfig
Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig
Source/bmalloc/ChangeLog
Source/bmalloc/Configurations/Base.xcconfig
Source/bmalloc/bmalloc/BCompiler.h
Source/bmalloc/bmalloc/Scavenger.h
Tools/ChangeLog
Tools/DumpRenderTree/mac/Configurations/Base.xcconfig
Tools/ImageDiff/cg/Configurations/Base.xcconfig
Tools/MiniBrowser/Configurations/Base.xcconfig
Tools/MobileMiniBrowser/Configurations/Base.xcconfig
Tools/TestWebKitAPI/Configurations/Base.xcconfig
Tools/WebKitTestRunner/Configurations/Base.xcconfig

index 7140a9b..6ae6e29 100644 (file)
@@ -1,3 +1,14 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * MallocBench/MallocBench.xcodeproj/project.pbxproj:
+        * MediaTime/Configurations/Base.xcconfig:
+        * MediaTime/MediaTime.xcodeproj/project.pbxproj:
+
 2018-04-30  Myles C. Maxfield  <mmaxfield@apple.com>
 
         Improve the performance of FontCascadeDescription's effectiveFamilies
index e193524..cb2df2b 100644 (file)
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                ALWAYS_SEARCH_USER_PATHS = NO;
-                               CLANG_CXX_LANGUAGE_STANDARD = "c++14";
+                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++1z";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_ENABLE_MODULES = YES;
                                CLANG_WARN_BOOL_CONVERSION = YES;
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                ALWAYS_SEARCH_USER_PATHS = NO;
-                               CLANG_CXX_LANGUAGE_STANDARD = "c++14";
+                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++1z";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_ENABLE_MODULES = YES;
                                CLANG_WARN_BOOL_CONVERSION = YES;
index 0dbe8bf..17449c8 100644 (file)
@@ -28,7 +28,7 @@ USE_INTERNAL_SDK_Production = YES;
 USE_INTERNAL_SDK_Debug = $(HAVE_INTERNAL_SDK);
 USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_WARN_BOOL_CONVERSION = YES;
 CLANG_WARN_CONSTANT_CONVERSION = YES;
index fcf08a4..b826e9e 100644 (file)
@@ -42,9 +42,9 @@
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               CDB099EF1E430B550039E198 /* libicucore.dylib in Frameworks */,
-                               CDB099ED1E430B440039E198 /* Foundation.framework in Frameworks */,
                                CDB099EB1E430B250039E198 /* CoreFoundation.framework in Frameworks */,
+                               CDB099ED1E430B440039E198 /* Foundation.framework in Frameworks */,
+                               CDB099EF1E430B550039E198 /* libicucore.dylib in Frameworks */,
                                CDB099E91E4308700039E198 /* libWTF.a in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                CDB099D41E4308470039E198 = {
                        isa = PBXGroup;
                        children = (
-                               CDB099E01E4308470039E198 /* main.cpp */,
                                CD836CFD1E43BDB4009F8091 /* Configurations */,
-                               CDB099DE1E4308470039E198 /* Products */,
                                CDB099E71E43086F0039E198 /* Frameworks */,
+                               CDB099DE1E4308470039E198 /* Products */,
+                               CDB099E01E4308470039E198 /* main.cpp */,
                        );
                        sourceTree = "<group>";
                };
@@ -82,9 +82,9 @@
                CDB099E71E43086F0039E198 /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
-                               CDB099EE1E430B550039E198 /* libicucore.dylib */,
-                               CDB099EC1E430B440039E198 /* Foundation.framework */,
                                CDB099EA1E430B250039E198 /* CoreFoundation.framework */,
+                               CDB099EC1E430B440039E198 /* Foundation.framework */,
+                               CDB099EE1E430B550039E198 /* libicucore.dylib */,
                                CDB099E81E4308700039E198 /* libWTF.a */,
                        );
                        name = Frameworks;
                CDB099E51E4308470039E198 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               CLANG_CXX_LANGUAGE_STANDARD = "c++14";
+                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++1z";
                                DEVELOPMENT_TEAM = G5UYP5CS7K;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                CDB099E61E4308470039E198 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               CLANG_CXX_LANGUAGE_STANDARD = "c++14";
+                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++1z";
                                DEVELOPMENT_TEAM = G5UYP5CS7K;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                ALWAYS_SEARCH_USER_PATHS = YES;
-                               CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++1z";
                                CLANG_CXX_LIBRARY = "libc++";
                                DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                                GCC_NO_COMMON_BLOCKS = YES;
                CDB099F11E4394540039E198 /* Control */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               CLANG_CXX_LANGUAGE_STANDARD = "c++14";
+                               CLANG_CXX_LANGUAGE_STANDARD = "gnu++1z";
                                DEVELOPMENT_TEAM = G5UYP5CS7K;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
index a189175..4a8e76f 100644 (file)
@@ -1,5 +1,14 @@
 2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
 
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
         [JSC] Remove duplicate methods in JSInterfaceJIT
         https://bugs.webkit.org/show_bug.cgi?id=185813
 
index d11c7d4..ea8f445 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index cb0e3b8..eb8a359 100644 (file)
@@ -1,3 +1,12 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+
 2018-04-18  Jer Noble  <jer.noble@apple.com>
 
         Don't put build products into WK_ALTERNATE_WEBKIT_SDK_PATH for engineering builds
index 0f6d6ed..9128f51 100644 (file)
@@ -7,7 +7,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index a0917c0..f734c4b 100644 (file)
@@ -1,3 +1,12 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * gtest/xcode/Config/General.xcconfig:
+
 2018-05-14  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         [Win] Use C++17 in MSVC
index 3bd2a58..69eca8c 100644 (file)
@@ -51,7 +51,7 @@ SEPARATE_STRIP = YES
 GCC_C_LANGUAGE_STANDARD = c99
 
 // Force C++14
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 
 // not sure why apple defaults this on, but it's pretty risky
 ALWAYS_SEARCH_USER_PATHS = NO
index 44e7a19..44d39f0 100644 (file)
@@ -1,3 +1,13 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+        * wtf/StdLibExtras.h:
+
 2018-05-18  Filip Pizlo  <fpizlo@apple.com>
 
         DFG should inline InstanceOf ICs
index a7bf793..37b85d7 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index 760b2ad..6e3c94d 100644 (file)
@@ -543,9 +543,9 @@ template<class B0, class B1, class B2, class... Bn> struct wtf_conjunction_impl<
 template<class... _Args> struct conjunction : wtf_conjunction_impl<_Args...> { };
 #endif
 
-// Provide in_place_t when not building with -std=c++17, or when building with libstdc++ 6
+// Provide in_place_t when not building with -std=c++17 or when building with libstdc++ 6, or when building with < Xcode 9.0.
 // (which doesn't define the _GLIBCXX_RELEASE macro that's been introduced in libstdc++ 7).
-#if (__cplusplus < 201703L || (defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE))) && (!defined(_MSC_FULL_VER) || _MSC_FULL_VER < 190023918)
+#if (__cplusplus < 201703L || (defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE))) && (!defined(_MSC_FULL_VER) || _MSC_FULL_VER < 190023918) && !(PLATFORM(COCOA) && __clang_major__ >= 9)
 
 // These are inline variable for C++17 and later.
 #define __IN_PLACE_INLINE_VARIABLE static const
index 7fc488e..e5f6f8f 100644 (file)
@@ -1,3 +1,15 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+        * DerivedSources.make:
+        * platform/ios/LegacyTileGrid.mm:
+        (WebCore::LegacyTileGrid::dropDistantTiles):
+
 2018-05-21  Zalan Bujtas  <zalan@apple.com>
 
         [LFC] Box::isDescendantOf() should work with out-of-flow elements.
index 412ac21..aceb675 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index 262e0c7..608d498 100644 (file)
@@ -1017,19 +1017,19 @@ ifeq ($(USE_LLVM_TARGET_TRIPLES_FOR_CLANG),YES)
        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++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)
+ifeq ($(shell $(CC) -std=gnu++1z -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++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)
+ifeq ($(shell $(CC) -std=gnu++1z -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++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)
+ifeq ($(shell $(CC) -std=gnu++1z -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
 
index 7b10263..65b1ab9 100644 (file)
@@ -1,3 +1,12 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+
 2018-05-21  Jer Noble  <jer.noble@apple.com>
 
         Complete fix for enabling modern EME by default
index 5826fd0..2ac2ddc 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index 11ea51b..a188ab5 100644 (file)
@@ -130,9 +130,13 @@ bool LegacyTileGrid::dropDistantTiles(unsigned tilesNeeded, double shortestDista
         if (distance <= shortestDistance)
             continue;
         toRemove.append(std::make_pair(distance, index));
-        std::push_heap(toRemove.begin(), toRemove.end(), std::ptr_fun(isFartherAway<TileIndex>));
+        std::push_heap(toRemove.begin(), toRemove.end(), [] (const auto& left, const auto& right) {
+            return isFartherAway<TileIndex>(left, right);
+        });
         if (toRemove.size() > tilesToRemoveCount) {
-            std::pop_heap(toRemove.begin(), toRemove.end(), std::ptr_fun(isFartherAway<TileIndex>));
+            std::pop_heap(toRemove.begin(), toRemove.end(), [] (const auto& left, const auto& right) {
+                return isFartherAway<TileIndex>(left, right);
+            });
             toRemove.removeLast();
         }
     }
index 71126dc..7a18fd0 100644 (file)
@@ -1,3 +1,12 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+
 2018-05-18  Devin Rousso  <webkit@devinrousso.com>
 
         Web Inspector: Canvas: put `hasVisualEffect` behind an experimental setting
index 850c617..225aab1 100644 (file)
@@ -12,7 +12,7 @@ DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
 ALWAYS_SEARCH_USER_PATHS = NO;
 FRAMEWORK_SEARCH_PATHS = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks $(inherited);
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index 232ed7d..2005a22 100644 (file)
@@ -1,3 +1,13 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+        * DerivedSources.make:
+
 2018-05-21  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [GTK][Wayland] UI process crash when closing the window
index b07a5b1..ae3ab50 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
@@ -128,7 +128,7 @@ SUPPORTS_TEXT_BASED_API[sdk=appletv*] = NO;
 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++17 -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
+OTHER_TAPI_FLAGS_cocoatouch = -x objective-c++ -std=gnu++1z -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
 TAPI_VERIFY_MODE[sdk=iphone*] = Pedantic;
 
 // This is required to make LLVM_TARGET_TRIPLE_SUFFIX propagate into scripts.
index f78d027..ec1ca3a 100644 (file)
@@ -268,7 +268,7 @@ AUTOMATION_PROTOCOL_OUTPUT_FILES = \
 #
 
 ifeq ($(OS),MACOS)
-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)
+ifeq ($(shell $(CC) -std=gnu++1z -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
index 7b7ef4b..3cf3039 100644 (file)
@@ -1,3 +1,13 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/WebKitLegacy.xcconfig:
+
 2018-05-21  Chris Nardi  <cnardi@chromium.org>
 
         Remove dead exception in MediaList.appendMedium
index 0a8e2d4..19281aa 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index a1a076e..2edcc05 100644 (file)
@@ -139,5 +139,5 @@ WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_YES = "$(WK_OVERRIDE_FRAMEWORKS_DIR)";
 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++17 -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
+OTHER_TAPI_FLAGS[sdk=iphone*] = -x objective-c++ -std=gnu++1z -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
 TAPI_VERIFY_MODE[sdk=iphone*] = Pedantic;
index 87820a7..88732f9 100644 (file)
@@ -1,3 +1,16 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        Add BNO_RETURN.
+
+        * Configurations/Base.xcconfig:
+        * bmalloc/BCompiler.h:
+        * bmalloc/Scavenger.h:
+
 2018-05-06  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         [JSC] Remove "using namespace std;" from JSC, bmalloc, WTF
index 9f57289..5388917 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index 1a927d8..b903c5f 100644 (file)
 
 #define BASAN_ENABLED BCOMPILER_HAS_CLANG_FEATURE(address_sanitizer)
 
+/* NO_RETURN */
+
+#if !defined(NO_RETURN) && defined(__GNUC__)
+#define BNO_RETURN __attribute((__noreturn__))
+#endif
+
+#if !defined(BNO_RETURN) && defined(_MSC_VER)
+#define BNO_RETURN __declspec(noreturn)
+#endif
+
+#if !defined(BNO_RETURN)
+#define BNO_RETURN
+#endif
index 858d66a..a7377c4 100644 (file)
@@ -80,8 +80,8 @@ private:
 
     void scheduleIfUnderMemoryPressureHoldingLock(size_t bytes);
 
-    static void threadEntryPoint(Scavenger*);
-    void threadRunLoop();
+    BNO_RETURN static void threadEntryPoint(Scavenger*);
+    BNO_RETURN void threadRunLoop();
     
     void setSelfQOSClass();
     void setThreadName(const char*);
index 640b553..f62e488 100644 (file)
@@ -1,3 +1,17 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Use more C++17
+        https://bugs.webkit.org/show_bug.cgi?id=185176
+
+        Reviewed by JF Bastien.
+
+        * DumpRenderTree/mac/Configurations/Base.xcconfig:
+        * ImageDiff/cg/Configurations/Base.xcconfig:
+        * MiniBrowser/Configurations/Base.xcconfig:
+        * MobileMiniBrowser/Configurations/Base.xcconfig:
+        * TestWebKitAPI/Configurations/Base.xcconfig:
+        * WebKitTestRunner/Configurations/Base.xcconfig:
+
 2018-05-21  Fujii Hironori  <Hironori.Fujii@sony.com>
 
         [WinCairo] Enable WebKit build by default
index 7f6e9cd..4765626 100644 (file)
@@ -39,7 +39,7 @@ WK_PRIVATE_FRAMEWORK_STUBS_DIR_iphone_YES_ = $(SRCROOT)/../../WebKitLibraries/We
 
 FRAMEWORK_SEARCH_PATHS[sdk=iphone*] = $(WK_PRIVATE_FRAMEWORK_STUBS_DIR);
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_CXX0X_EXTENSIONS = NO;
index ef77ba9..1389484 100644 (file)
@@ -28,7 +28,7 @@ USE_INTERNAL_SDK_Production = YES;
 USE_INTERNAL_SDK_Debug = $(HAVE_INTERNAL_SDK);
 USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_CXX0X_EXTENSIONS = NO;
index 4e07566..a230dfa 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 GCC_PREPROCESSOR_DEFINITIONS = DISABLE_LEGACY_WEBKIT_DEPRECATIONS $(inherited);
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
index f9cac16..2737bc4 100644 (file)
@@ -30,7 +30,7 @@ USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
 ALWAYS_SEARCH_USER_PATHS = NO;
 CLANG_ANALYZER_NONNULL = YES;
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_MODULES = YES;
 CLANG_ENABLE_OBJC_ARC = YES;
index d6a8442..f59a568 100644 (file)
@@ -28,7 +28,7 @@ USE_INTERNAL_SDK_Production = YES;
 USE_INTERNAL_SDK_Debug = $(HAVE_INTERNAL_SDK);
 USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_CXX0X_EXTENSIONS = NO;
index 019f129..976198b 100644 (file)
@@ -28,7 +28,7 @@ USE_INTERNAL_SDK_Production = YES;
 USE_INTERNAL_SDK_Debug = $(HAVE_INTERNAL_SDK);
 USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
 
-CLANG_CXX_LANGUAGE_STANDARD = gnu++14;
+CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;