⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 287848 in webkit


Ignore:
Timestamp:
Jan 10, 2022, 11:16:17 AM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Start using C++20
https://bugs.webkit.org/show_bug.cgi?id=233963

Patch by Alex Christensen <achristensen@webkit.org> on 2022-01-10
Reviewed by Yusuke Suzuki.

.:

  • Source/cmake/OptionsCommon.cmake:
  • Source/cmake/WebKitCompilerFlags.cmake:

Source/bmalloc:

  • Configurations/Base.xcconfig:

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Configurations/JavaScriptCore.xcconfig:
  • DerivedSources.make:
  • heap/Heap.cpp:

(JSC::Heap::addCoreConstraints):

  • runtime/CachedTypes.cpp:
  • runtime/LiteralParser.h:
  • shell/PlatformPlayStation.cmake:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/Base.xcconfig:
  • Source/webrtc/rtc_base/system/no_unique_address.h:

Source/WebCore:

  • Configurations/Base.xcconfig:
  • DerivedSources.make:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::ensurePlatformContext):

  • platform/ios/wak/WebCoreThread.mm:

Source/WebCore/PAL:

  • Configurations/Base.xcconfig:

Source/WebGPU:

  • Configurations/Base.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:

Source/WebKit:

  • Configurations/Base.xcconfig:
  • PlatformMac.cmake:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _setInlineMediaPlaybackRequiresPlaysInlineAttribute:]):

Source/WebKitLegacy:

  • PlatformMac.cmake:

Source/WebKitLegacy/mac:

  • Configurations/Base.xcconfig:
  • Configurations/WebKitLegacy.xcconfig:
  • MigrateHeaders.make:

Source/WTF:

  • Configurations/Base.xcconfig:
  • wtf/DisallowCType.h:
  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::toStdFileSystemPath):
(WTF::FileSystemImpl::fromStdFileSystemPath):

  • wtf/PlatformHave.h:
  • wtf/VectorTraits.h:
  • wtf/text/StringOperators.h:

Tools:

  • DumpRenderTree/DerivedSources.make:
  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • MobileMiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Tests/WTF/Expected.cpp:

(TestWebKitAPI::NonCopyable::NonCopyable):

  • TestWebKitAPI/Tests/WTF/URLParser.cpp:

(TestWebKitAPI::TEST_F):

  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/DerivedSources.make:
  • lldb/lldbWebKitTester/Configurations/Base.xcconfig:
Location:
trunk
Files:
69 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r287829 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Source/cmake/OptionsCommon.cmake:
     9        * Source/cmake/WebKitCompilerFlags.cmake:
     10
    1112022-01-09  Sam Weinig  <weinig@apple.com>
    212
  • trunk/Source/JavaScriptCore/ChangeLog

    r287837 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9        * Configurations/JavaScriptCore.xcconfig:
     10        * DerivedSources.make:
     11        * heap/Heap.cpp:
     12        (JSC::Heap::addCoreConstraints):
     13        * runtime/CachedTypes.cpp:
     14        * runtime/LiteralParser.h:
     15        * shell/PlatformPlayStation.cmake:
     16
    1172022-01-10  Elliott Williams  <emw@apple.com>
    218
  • trunk/Source/JavaScriptCore/Configurations/Base.xcconfig

    r287770 r287848  
    3434ALWAYS_SEARCH_USER_PATHS = NO;
    3535
    36 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     36CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3737CLANG_CXX_LIBRARY = libc++;
    3838CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig

    r287770 r287848  
    2828
    2929// Prevent C++ standard library operator new, delete and their related exception types from being exported as weak symbols.
    30 OTHER_LDFLAGS_HIDE_SYMBOLS = -Wl,-unexported_symbol,__ZTISt9bad_alloc -Wl,-unexported_symbol,__ZTISt9exception -Wl,-unexported_symbol,__ZTSSt9bad_alloc -Wl,-unexported_symbol,__ZTSSt9exception -Wl,-unexported_symbol,__ZdlPvS_ -Wl,-unexported_symbol,__ZnwmPv -Wl,-unexported_symbol,__ZNKSt3__18functionIFvvEEclEv -Wl,-unexported_symbol,__ZNSt3__18functionIFvvEEC1EOS2_ -Wl,-unexported_symbol,__ZNSt3__18functionIFvvEEC2EOS2_ -Wl,-unexported_symbol,__ZNKSt3__18functionIFvRN3JSC17BytecodeGeneratorEPNS1_10RegisterIDEEEclES3_S5_ -Wl,-unexported_symbol,__ZNSt3__18functionIFvRN3JSC17BytecodeGeneratorEPNS1_10RegisterIDEEED1Ev -Wl,-unexported_symbol,__ZNSt3__18functionIFvRN3JSC17BytecodeGeneratorEPNS1_10RegisterIDEEED2Ev -Wl,-unexported_symbol,__ZNSt3__18functionIFvvEED1Ev -Wl,-unexported_symbol,__ZNSt3__18functionIFvvEED2Ev -Wl,-unexported_symbol,__ZTVNSt3__117bad_function_callE -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIPKcS4_cLb1EE11__range_endES4_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIPKcS4_cLb1EE13__range_beginES4_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIcE14__append_rangeIPKcEENS_9enable_ifIXsr27__is_cpp17_forward_iteratorIT_EE5valueEvE4typeERNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES8_S8_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIcE15__append_sourceIPKcEEvRNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKT_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIcE14__append_rangeIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeERNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES8_S8_ -Wl,-unexported_symbol,__ZNKSt3__14__fs10filesystem18directory_iteratordeEv -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem18directory_iteratorppEv -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIA10_cPccLb1EE11__range_endEPKc -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIA10_cPccLb1EE13__range_beginEPKc -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem4pathdVERKS2_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIcE15__append_sourceIA10_cEEvRNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKT_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__throw_filesystem_errorIJRPKcRKNS1_4pathERKNS_10error_codeEEEEvDpOT_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem14__is_separatorIcEENS_9enable_ifIXsr18__can_convert_charIT_EE5valueEbE4typeES4_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIPKcS4_cLb1EE15__first_or_nullES4_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem4path20__source_is_absoluteIcEEbT_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem4path6appendIPKcEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS7_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem6u8pathIPKcEENS_9enable_ifIXsr13__is_pathableIT_EE5valueENS1_4pathEE4typeERKS6_ -Wl,-unexported_symbol,__ZNKSt3__14__fs10filesystem18directory_iteratorptEv -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem18directory_iterator9incrementERNS_10error_codeE;
     30OTHER_LDFLAGS_HIDE_SYMBOLS = -Wl,-unexported_symbol,__ZTISt9bad_alloc -Wl,-unexported_symbol,__ZTISt9exception -Wl,-unexported_symbol,__ZTSSt9bad_alloc -Wl,-unexported_symbol,__ZTSSt9exception -Wl,-unexported_symbol,__ZdlPvS_ -Wl,-unexported_symbol,__ZnwmPv -Wl,-unexported_symbol,__ZNKSt3__18functionIFvvEEclEv -Wl,-unexported_symbol,__ZNSt3__18functionIFvvEEC1EOS2_ -Wl,-unexported_symbol,__ZNSt3__18functionIFvvEEC2EOS2_ -Wl,-unexported_symbol,__ZNKSt3__18functionIFvRN3JSC17BytecodeGeneratorEPNS1_10RegisterIDEEEclES3_S5_ -Wl,-unexported_symbol,__ZNSt3__18functionIFvRN3JSC17BytecodeGeneratorEPNS1_10RegisterIDEEED1Ev -Wl,-unexported_symbol,__ZNSt3__18functionIFvRN3JSC17BytecodeGeneratorEPNS1_10RegisterIDEEED2Ev -Wl,-unexported_symbol,__ZNSt3__18functionIFvvEED1Ev -Wl,-unexported_symbol,__ZNSt3__18functionIFvvEED2Ev -Wl,-unexported_symbol,__ZTVNSt3__117bad_function_callE -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIPKcS4_cLb1EE11__range_endES4_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIPKcS4_cLb1EE13__range_beginES4_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIcE14__append_rangeIPKcEENS_9enable_ifIXsr27__is_cpp17_forward_iteratorIT_EE5valueEvE4typeERNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES8_S8_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIcE15__append_sourceIPKcEEvRNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKT_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIcE14__append_rangeIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeERNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES8_S8_ -Wl,-unexported_symbol,__ZNKSt3__14__fs10filesystem18directory_iteratordeEv -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem18directory_iteratorppEv -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIA10_cPccLb1EE11__range_endEPKc -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIA10_cPccLb1EE13__range_beginEPKc -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem4pathdVERKS2_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIcE15__append_sourceIA10_cEEvRNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKT_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__throw_filesystem_errorIJRPKcRKNS1_4pathERKNS_10error_codeEEEEvDpOT_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem14__is_separatorIcEENS_9enable_ifIXsr18__can_convert_charIT_EE5valueEbE4typeES4_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem24__is_pathable_char_arrayIPKcS4_cLb1EE15__first_or_nullES4_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem4path20__source_is_absoluteIcEEbT_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem4path6appendIPKcEENS_9enable_ifIXsr13__is_pathableIT_EE5valueERS2_E4typeERKS7_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem6u8pathIPKcEENS_9enable_ifIXsr13__is_pathableIT_EE5valueENS1_4pathEE4typeERKS6_ -Wl,-unexported_symbol,__ZNKSt3__14__fs10filesystem18directory_iteratorptEv -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem18directory_iterator9incrementERNS_10error_codeE -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem20__is_pathable_stringINS_12basic_stringIDuNS_11char_traitsIDuEENS_9allocatorIDuEEEEvE11__range_endERKS8_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem20__is_pathable_stringINS_12basic_stringIDuNS_11char_traitsIDuEENS_9allocatorIDuEEEEvE13__range_beginERKS8_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIDuE14__append_rangeERNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPKDuSC_ -Wl,-unexported_symbol,__ZNSt3__14__fs10filesystem8_PathCVTIDuE15__append_sourceINS_12basic_stringIDuNS_11char_traitsIDuEENS_9allocatorIDuEEEEEEvRNS5_IcNS6_IcEENS8_IcEEEERKT_;
    3131
    3232OTHER_LDFLAGS_BASE = $(OTHER_LDFLAGS_HIDE_SYMBOLS) -force_load "$(BUILT_PRODUCTS_DIR)/DerivedSources/JavaScriptCore/libWTF.a";
  • trunk/Source/JavaScriptCore/DerivedSources.make

    r287770 r287848  
    4545HEADER_FLAGS := $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) $(SYSTEM_HEADER_SEARCH_PATHS) | $(PERL) -e 'print "-I" . join(" -I", split(" ", <>));')
    4646
    47 platform_h_compiler_command = $(CC) -std=gnu++1z -x c++ $(1) $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null
     47platform_h_compiler_command = $(CC) -std=gnu++2a -x c++ $(1) $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null
    4848
    4949FEATURE_AND_PLATFORM_DEFINES := $(shell $(call platform_h_compiler_command,-E -P -dM) | $(PERL) -ne "print if s/\#define ((HAVE_|USE_|ENABLE_|WTF_PLATFORM_)\w+) 1/\1/")
  • trunk/Source/JavaScriptCore/heap/Heap.cpp

    r287770 r287848  
    29142914        "O", "Output",
    29152915        MAKE_MARKING_CONSTRAINT_EXECUTOR_PAIR(([] (auto& visitor) {
    2916             using Visitor = decltype(visitor);
    29172916            Heap* heap = visitor.heap();
    29182917
     
    29202919            // gets confused  and thinks we're trying to capture the outer visitor
    29212920            // arg here. Giving it a unique name works around this issue.
    2922             auto callOutputConstraint = [] (Visitor& visitor2, HeapCell* heapCell, HeapCell::Kind) {
     2921            auto callOutputConstraint = [] (auto& visitor2, HeapCell* heapCell, HeapCell::Kind) {
    29232922                SetRootMarkReasonScope rootScope(visitor2, RootMarkReason::Output);
    29242923                VM& vm = visitor2.vm();
     
    29282927           
    29292928            auto add = [&] (auto& set) {
    2930                 RefPtr<SharedTask<void(Visitor&)>> task = set.template forEachMarkedCellInParallel<Visitor>(callOutputConstraint);
     2929                RefPtr<SharedTask<void(decltype(visitor)&)>> task = set.template forEachMarkedCellInParallel<decltype(visitor)>(callOutputConstraint);
    29312930                visitor.addParallelConstraintTask(task);
    29322931            };
  • trunk/Source/JavaScriptCore/runtime/CachedTypes.cpp

    r287770 r287848  
    396396template<typename Source>
    397397class CachedObject {
    398     WTF_MAKE_NONCOPYABLE(CachedObject<Source>);
     398    WTF_MAKE_NONCOPYABLE(CachedObject);
    399399
    400400public:
  • trunk/Source/JavaScriptCore/runtime/LiteralParser.h

    r287770 r287848  
    6969struct LiteralParserToken {
    7070private:
    71 WTF_MAKE_NONCOPYABLE(LiteralParserToken<CharType>);
     71WTF_MAKE_NONCOPYABLE(LiteralParserToken);
    7272
    7373public:
  • trunk/Source/JavaScriptCore/shell/PlatformPlayStation.cmake

    r287770 r287848  
    3232        ../API/tests/CustomGlobalObjectClassTest.c
    3333        ../API/tests/testapi.c
    34         PROPERTIES COMPILE_FLAGS --std=gnu17
     34        PROPERTIES COMPILE_FLAGS --std=gnu2a
    3535    )
    3636endif ()
  • trunk/Source/ThirdParty/ANGLE/ChangeLog

    r287829 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9
    1102022-01-09  Sam Weinig  <weinig@apple.com>
    211
  • trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig

    r287770 r287848  
    1414
    1515CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
    16 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     16CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    1717CLANG_CXX_LIBRARY = libc++;
    1818CLANG_ENABLE_OBJC_ARC = NO;
  • trunk/Source/ThirdParty/ChangeLog

    r287770 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * gtest/xcode/Config/General.xcconfig:
     9
    1102022-01-07  Alex Christensen  <achristensen@webkit.org>
    211
  • trunk/Source/ThirdParty/gtest/xcode/Config/General.xcconfig

    r287770 r287848  
    5353
    5454// Force C++14
    55 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     55CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    5656
    5757// not sure why apple defaults this on, but it's pretty risky
  • trunk/Source/ThirdParty/libwebrtc/ChangeLog

    r287770 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9        * Source/webrtc/rtc_base/system/no_unique_address.h:
     10
    1112022-01-07  Alex Christensen  <achristensen@webkit.org>
    212
  • trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig

    r287770 r287848  
    3636ALWAYS_SEARCH_USER_PATHS = NO;
    3737
    38 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     38CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3939CLANG_CXX_LIBRARY = libc++;
    4040CLANG_ENABLE_OBJC_ARC = YES;
  • trunk/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/system/no_unique_address.h

    r287770 r287848  
    2525// clang-cl doesn't support it yet and support is unclear also when the target
    2626// platform is iOS.
    27 #if ((defined(__clang__) && !defined(_MSC_VER) && !defined(WEBRTC_MAC)) || \
    28      __cplusplus > 201703L)
     27#if defined(__has_cpp_attribute) && __has_cpp_attribute(no_unique_address)
    2928// NOLINTNEXTLINE(whitespace/braces)
    3029#define RTC_NO_UNIQUE_ADDRESS [[no_unique_address]]
  • trunk/Source/WTF/ChangeLog

    r287831 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9        * wtf/DisallowCType.h:
     10        * wtf/FileSystem.cpp:
     11        (WTF::FileSystemImpl::toStdFileSystemPath):
     12        (WTF::FileSystemImpl::fromStdFileSystemPath):
     13        * wtf/PlatformHave.h:
     14        * wtf/VectorTraits.h:
     15        * wtf/text/StringOperators.h:
     16
    1172022-01-10  Youenn Fablet  <youenn@apple.com>
    218
  • trunk/Source/WTF/Configurations/Base.xcconfig

    r287770 r287848  
    3434ALWAYS_SEARCH_USER_PATHS = NO;
    3535
    36 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     36CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3737CLANG_CXX_LIBRARY = libc++;
    3838CLANG_ENABLE_OBJC_ARC = YES;
  • trunk/Source/WTF/wtf/DisallowCType.h

    r287770 r287848  
    4141// are used from wx headers. On GTK+ for Mac many GTK+ files include <libintl.h>
    4242// or <glib/gi18n-lib.h>, which in turn include <xlocale/_ctype.h> which uses
    43 // isacii().
    44 #if !(OS(DARWIN) && PLATFORM(GTK)) && !defined(_LIBCPP_VERSION) && defined(__GLIBC__)
     43// isacii(). Additionally, regex.h uses tolower on Linux.
     44#if !PLATFORM(GTK) && !PLATFORM(WPE) && !defined(_LIBCPP_VERSION) && defined(__GLIBC__)
    4545
    4646#include <ctype.h>
  • trunk/Source/WTF/wtf/FileSystem.cpp

    r287770 r287848  
    4949#endif
    5050
    51 namespace WTF {
    52 
    53 namespace FileSystemImpl {
     51namespace WTF::FileSystemImpl {
    5452
    5553#if HAVE(STD_FILESYSTEM) || HAVE(STD_EXPERIMENTAL_FILESYSTEM)
     
    5755static std::filesystem::path toStdFileSystemPath(StringView path)
    5856{
     57#if HAVE(MISSING_STD_FILESYSTEM_PATH_CONSTRUCTOR)
     58    ALLOW_DEPRECATED_DECLARATIONS_BEGIN
    5959    return std::filesystem::u8path(path.utf8().data());
     60    ALLOW_DEPRECATED_DECLARATIONS_END
     61#else
     62    return { std::u8string(reinterpret_cast<const char8_t*>(path.utf8().data())) };
     63#endif
    6064}
    6165
    6266static String fromStdFileSystemPath(const std::filesystem::path& path)
    6367{
    64     return String::fromUTF8(path.u8string().c_str());
     68    return String::fromUTF8(reinterpret_cast<const LChar*>(path.u8string().c_str()));
    6569}
    6670
     
    830834#endif // HAVE(STD_FILESYSTEM) || HAVE(STD_EXPERIMENTAL_FILESYSTEM)
    831835
    832 } // namespace FileSystemImpl
    833 } // namespace WTF
     836} // namespace WTF::FileSystemImpl
  • trunk/Source/WTF/wtf/PlatformHave.h

    r287770 r287848  
    114114#endif
    115115
     116#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 120000
     117#define HAVE_MISSING_STD_FILESYSTEM_PATH_CONSTRUCTOR 1
     118#define HAVE_CPP20_INCOMPATIBLE_INTERNAL_HEADERS 1
     119#elif PLATFORM(PLAYSTATION)
     120#define HAVE_MISSING_STD_FILESYSTEM_PATH_CONSTRUCTOR 1
     121#elif COMPILER(GCC)
     122#if !GCC_VERSION_AT_LEAST(9, 0, 0)
     123#define HAVE_MISSING_STD_FILESYSTEM_PATH_CONSTRUCTOR 1
     124#endif
     125#endif
     126
    116127/* FIXME: Remove after CMake build enabled on Darwin */
    117128#if OS(DARWIN)
  • trunk/Source/WTF/wtf/VectorTraits.h

    r287770 r287848  
    5757
    5858    template<typename T>
    59     struct VectorTraits : VectorTraitsBase<std::is_pod<T>::value, T> { };
     59    struct VectorTraits : VectorTraitsBase<std::is_standard_layout_v<T> && std::is_trivial_v<T>, T> { };
    6060
    6161    struct SimpleClassVectorTraits : VectorTraitsBase<false, void>
  • trunk/Source/WTF/wtf/text/StringOperators.h

    r287770 r287848  
    8686class StringTypeAdapter<StringAppend<StringType1, StringType2>> {
    8787public:
    88     StringTypeAdapter<StringAppend<StringType1, StringType2>>(StringAppend<StringType1, StringType2>& buffer)
     88    StringTypeAdapter(StringAppend<StringType1, StringType2>& buffer)
    8989        : m_buffer { buffer }
    9090    {
  • trunk/Source/WebCore/ChangeLog

    r287847 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9        * DerivedSources.make:
     10        * platform/graphics/cocoa/IOSurface.mm:
     11        (WebCore::IOSurface::ensurePlatformContext):
     12        * platform/ios/wak/WebCoreThread.mm:
     13
    1142022-01-10  Cathie Chen  <cathiechen@igalia.com>
    215
  • trunk/Source/WebCore/Configurations/Base.xcconfig

    r287770 r287848  
    3434ALWAYS_SEARCH_USER_PATHS = NO;
    3535
    36 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     36CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3737CLANG_CXX_LIBRARY = libc++;
    3838CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Source/WebCore/DerivedSources.make

    r287770 r287848  
    4747HEADER_FLAGS := $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) $(SYSTEM_HEADER_SEARCH_PATHS) | $(PERL) -e 'print "-I" . join(" -I", split(" ", <>));')
    4848
    49 platform_h_compiler_command = $(CC) -std=gnu++1z -x c++ $(1) $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null
     49platform_h_compiler_command = $(CC) -std=gnu++2a -x c++ $(1) $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null
    5050
    5151FEATURE_AND_PLATFORM_DEFINES := $(shell $(call platform_h_compiler_command,-E -P -dM) | $(PERL) -ne "print if s/\#define ((HAVE_|USE_|ENABLE_|WTF_PLATFORM_)\w+) 1/\1/")
  • trunk/Source/WebCore/PAL/ChangeLog

    r287829 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9
    1102022-01-09  Sam Weinig  <weinig@apple.com>
    211
  • trunk/Source/WebCore/PAL/Configurations/Base.xcconfig

    r287770 r287848  
    3434ALWAYS_SEARCH_USER_PATHS = NO;
    3535
    36 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     36CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3737CLANG_CXX_LIBRARY = libc++;
    3838CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Source/WebCore/PAL/pal/cf/CoreTextSoftLink.cpp

    r273121 r287848  
    2525#include "config.h"
    2626
     27#if HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     28#define CGCOLORTAGGEDPOINTER_H_
     29#endif
     30
    2731#include <pal/spi/cf/CoreTextSPI.h>
    2832#include <wtf/SoftLinking.h>
  • trunk/Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h

    r287310 r287848  
    3939#if USE(APPLE_INTERNAL_SDK)
    4040
     41#if HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     42#define CGCOLORTAGGEDPOINTER_H_
     43#ifndef GL_GLES_PROTOTYPES
     44#define GL_GLES_PROTOTYPES 0
     45#endif
     46#include <ANGLE/entry_points_gles_ext_autogen.h>
     47#endif
     48
    4149#include <CoreGraphics/CGContextDelegatePrivate.h>
    4250#include <CoreGraphics/CGFontCache.h>
  • trunk/Source/WebCore/PAL/pal/spi/mac/NSWindowSPI.h

    r264928 r287848  
    2929
    3030#if USE(APPLE_INTERNAL_SDK)
     31
     32#if HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     33#define CGCOLORTAGGEDPOINTER_H_
     34#endif
    3135
    3236#import <AppKit/NSWindow_Private.h>
  • trunk/Source/WebCore/PAL/pal/spi/mac/QuickLookMacSPI.h

    r279290 r287848  
    2727
    2828#if USE(APPLE_INTERNAL_SDK)
     29
     30#if HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     31#define CGCOLORTAGGEDPOINTER_H_
     32#endif
    2933
    3034#import <Quartz/QuartzPrivate.h>
  • trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm

    r287770 r287848  
    316316        bitsPerComponent = 16;
    317317        bitsPerPixel = 64;
    318         bitmapInfo = kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder16Host | kCGBitmapFloatComponents;
     318        bitmapInfo = static_cast<CGBitmapInfo>(kCGImageAlphaPremultipliedLast) | static_cast<CGBitmapInfo>(kCGBitmapByteOrder16Host) | static_cast<CGBitmapInfo>(kCGBitmapFloatComponents);
    319319        break;
    320320#endif
  • trunk/Source/WebCore/platform/ios/wak/WebCoreThread.mm

    r287770 r287848  
    245245class WebThreadDelegateMessageScope {
    246246public:
     247    IGNORE_CLANG_WARNINGS_BEGIN("deprecated-volatile")
    247248    WebThreadDelegateMessageScope() { ++webThreadDelegateMessageScopeCount; }
    248249    ~WebThreadDelegateMessageScope()
     
    251252        --webThreadDelegateMessageScopeCount;
    252253    }
     254    IGNORE_CLANG_WARNINGS_END
    253255};
    254256
  • trunk/Source/WebGPU/ChangeLog

    r287770 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9
    1102022-01-07  Alex Christensen  <achristensen@webkit.org>
    211
  • trunk/Source/WebGPU/Configurations/Base.xcconfig

    r287770 r287848  
    3434ALWAYS_SEARCH_USER_PATHS = NO;
    3535
    36 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     36CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3737CLANG_CXX_LIBRARY = libc++;
    3838CLANG_ENABLE_OBJC_ARC = YES;
  • trunk/Source/WebInspectorUI/ChangeLog

    r287787 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9
    1102022-01-07  Alexey Shvayka  <ashvayka@apple.com>
    211
  • trunk/Source/WebInspectorUI/Configurations/Base.xcconfig

    r287770 r287848  
    1717FRAMEWORK_SEARCH_PATHS = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks $(inherited);
    1818
    19 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     19CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    2020CLANG_CXX_LIBRARY = libc++;
    2121CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Source/WebKit/ChangeLog

    r287844 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9        * PlatformMac.cmake:
     10        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
     11        (-[WKWebViewConfiguration _setInlineMediaPlaybackRequiresPlaysInlineAttribute:]):
     12
    1132022-01-10  Per Arne Vollan  <pvollan@apple.com>
    214
  • trunk/Source/WebKit/Configurations/Base.xcconfig

    r287770 r287848  
    3232ALWAYS_SEARCH_USER_PATHS = NO;
    3333
    34 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     34CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3535CLANG_CXX_LIBRARY = libc++;
    3636CLANG_ENABLE_OBJC_WEAK = YES;
     
    131131
    132132OTHER_TAPI_FLAGS = $(OTHER_TAPI_FLAGS_$(WK_COCOA_TOUCH));
    133 OTHER_TAPI_FLAGS_cocoatouch = -x objective-c++ -std=gnu++1z -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
     133OTHER_TAPI_FLAGS_cocoatouch = -x objective-c++ -std=gnu++2a -fno-rtti -DRELEASE_WITHOUT_OPTIMIZATIONS;
    134134TAPI_VERIFY_MODE[sdk=iphone*] = Pedantic;
    135135
  • trunk/Source/WebKit/Platform/spi/mac/AppKitSPI.h

    r283431 r287848  
    2727
    2828#if USE(APPLE_INTERNAL_SDK)
     29
     30#define CGCOLORTAGGEDPOINTER_H_
     31
     32#if HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     33#ifndef GL_GLES_PROTOTYPES
     34#define GL_GLES_PROTOTYPES 0
     35#endif
     36#include <ANGLE/entry_points_gles_ext_autogen.h>
     37#endif
    2938
    3039#import <AppKit/NSInspectorBar.h>
  • trunk/Source/WebKit/Platform/spi/mac/ApplicationServicesSPI.h

    r256294 r287848  
    3030#if USE(APPLE_INTERNAL_SDK)
    3131
     32#if HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     33#define CGCOLORTAGGEDPOINTER_H_
     34#ifndef GL_GLES_PROTOTYPES
     35#define GL_GLES_PROTOTYPES 0
     36#endif
     37#include <ANGLE/entry_points_gles_ext_autogen.h>
     38#endif
     39
    3240#import <ApplicationServices/ApplicationServicesPriv.h>
    3341
  • trunk/Source/WebKit/PlatformMac.cmake

    r287770 r287848  
    1 add_definitions("-ObjC++ -std=c++17 -D__STDC_WANT_LIB_EXT1__")
     1add_definitions("-ObjC++ -std=c++2a -D__STDC_WANT_LIB_EXT1__")
    22find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
    33find_library(CARBON_LIBRARY Carbon)
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm

    r287770 r287848  
    770770}
    771771
    772 - (void)_setInlineMediaPlaybackRequiresPlaysInlineAttribute:(BOOL)requires
    773 {
    774     _inlineMediaPlaybackRequiresPlaysInlineAttribute = requires;
     772- (void)_setInlineMediaPlaybackRequiresPlaysInlineAttribute:(BOOL)requiresPlaysInlineAttribute
     773{
     774    _inlineMediaPlaybackRequiresPlaysInlineAttribute = requiresPlaysInlineAttribute;
    775775}
    776776
  • trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFLayerControllerSPI.h

    r273657 r287848  
    2727
    2828#if ENABLE(PDFKIT_PLUGIN)
     29
     30#if USE(APPLE_INTERNAL_SDK) && HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     31#ifndef GL_GLES_PROTOTYPES
     32#define GL_GLES_PROTOTYPES 0
     33#endif
     34#include <ANGLE/entry_points_gles_ext_autogen.h>
     35#endif
    2936
    3037#import <Quartz/Quartz.h>
  • trunk/Source/WebKitLegacy/ChangeLog

    r287829 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * PlatformMac.cmake:
     9
    1102022-01-09  Sam Weinig  <weinig@apple.com>
    211
  • trunk/Source/WebKitLegacy/PlatformMac.cmake

    r287770 r287848  
    601601        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c99)
    602602    elseif (NOT ${_cpp_index} EQUAL -1)
    603         set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c++1z)
     603        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c++2a)
    604604    else ()
    605         set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++17")
     605        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++2a")
    606606    endif ()
    607607endforeach ()
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r287837 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9        * Configurations/WebKitLegacy.xcconfig:
     10        * MigrateHeaders.make:
     11
    1122022-01-10  Elliott Williams  <emw@apple.com>
    213
  • trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig

    r287770 r287848  
    3434ALWAYS_SEARCH_USER_PATHS = NO;
    3535
    36 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     36CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3737CLANG_CXX_LIBRARY = libc++;
    3838CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig

    r287770 r287848  
    162162SUPPORTS_TEXT_BASED_API[sdk=appletv*] = NO;
    163163SUPPORTS_TEXT_BASED_API[sdk=watch*] = NO;
    164 OTHER_TAPI_FLAGS[sdk=iphone*] = -x objective-c++ -std=gnu++1z -fno-rtti $(WK_CFLAGS_BUILD_FOR_TESTING_$(WK_BUILD_FOR_TESTING)) -DRELEASE_WITHOUT_OPTIMIZATIONS -exclude-private-header $(BUILT_PRODUCTS_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)/NSURLDownloadSPI.h -extra-private-header $(SOURCE_ROOT)/mac/TestingFunctions.h;
     164OTHER_TAPI_FLAGS[sdk=iphone*] = -x objective-c++ -std=gnu++2a -fno-rtti $(WK_CFLAGS_BUILD_FOR_TESTING_$(WK_BUILD_FOR_TESTING)) -DRELEASE_WITHOUT_OPTIMIZATIONS -exclude-private-header $(BUILT_PRODUCTS_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)/NSURLDownloadSPI.h -extra-private-header $(SOURCE_ROOT)/mac/TestingFunctions.h;
    165165TAPI_VERIFY_MODE[sdk=iphone*] = Pedantic;
    166166
  • trunk/Source/WebKitLegacy/mac/MigrateHeaders.make

    r287770 r287848  
    3939FRAMEWORK_FLAGS := $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) $(SYSTEM_FRAMEWORK_SEARCH_PATHS) | $(PERL) -e 'print "-F " . join(" -F ", split(" ", <>));')
    4040HEADER_FLAGS := $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) $(SYSTEM_HEADER_SEARCH_PATHS) | $(PERL) -e 'print "-I" . join(" -I", split(" ", <>));')
    41 FEATURE_AND_PLATFORM_DEFINES := $(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 | $(PERL) -ne "print if s/\#define ((HAVE_|USE_|ENABLE_|WTF_PLATFORM_)\w+) 1/\1/")
     41FEATURE_AND_PLATFORM_DEFINES := $(shell $(CC) -std=gnu++2a -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | $(PERL) -ne "print if s/\#define ((HAVE_|USE_|ENABLE_|WTF_PLATFORM_)\w+) 1/\1/")
    4242
    4343# --------
  • trunk/Source/WebKitLegacy/mac/WebView/WebFrameInternal.h

    r278253 r287848  
    2929// This header contains WebFrame declarations that can be used anywhere in WebKit, but are neither SPI nor API.
    3030
     31#if USE(APPLE_INTERNAL_SDK) && HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     32#ifndef GL_GLES_PROTOTYPES
     33#define GL_GLES_PROTOTYPES 0
     34#endif
     35#include <ANGLE/entry_points_gles_ext_autogen.h>
     36#endif
     37
    3138#import "WebFramePrivate.h"
    3239#import "WebPreferencesPrivate.h"
  • trunk/Source/bmalloc/ChangeLog

    r287770 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * Configurations/Base.xcconfig:
     9
    1102022-01-07  Alex Christensen  <achristensen@webkit.org>
    211
  • trunk/Source/bmalloc/Configurations/Base.xcconfig

    r287770 r287848  
    3232ALWAYS_SEARCH_USER_PATHS = NO;
    3333
    34 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     34CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3535CLANG_CXX_LIBRARY = libc++;
    3636CLANG_ENABLE_OBJC_ARC = YES;
  • trunk/Source/cmake/OptionsCommon.cmake

    r287770 r287848  
    1 set(CMAKE_CXX_STANDARD 17)
     1set(CMAKE_CXX_STANDARD 20)
    22set(CMAKE_CXX_STANDARD_REQUIRED ON)
    33set(CMAKE_CXX_EXTENSIONS OFF)
  • trunk/Source/cmake/OptionsPlayStation.cmake

    r287768 r287848  
    300300    add_definitions(-DHAVE_MEMMEM=1)
    301301endif ()
     302
     303# FIXME: gtest assumes that you will have u8string if __cpp_char8_t
     304# (feature test macro) is defined.
     305add_compile_options(-U__cpp_char8_t)
  • trunk/Source/cmake/WebKitCompilerFlags.cmake

    r287770 r287848  
    384384        int main() { std::filesystem::path p1(\"\"); std::filesystem::status(p1); }
    385385    ")
    386     set(CMAKE_REQUIRED_FLAGS "--std=c++17")
     386    set(CMAKE_REQUIRED_FLAGS "--std=c++2a")
    387387    check_cxx_source_compiles("${FILESYSTEM_TEST_SOURCE}" STD_FILESYSTEM_IS_AVAILABLE)
    388388    if (NOT STD_FILESYSTEM_IS_AVAILABLE)
  • trunk/Tools/ChangeLog

    r287833 r287848  
     12022-01-10  Alex Christensen  <achristensen@webkit.org>
     2
     3        Start using C++20
     4        https://bugs.webkit.org/show_bug.cgi?id=233963
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * DumpRenderTree/DerivedSources.make:
     9        * DumpRenderTree/mac/Configurations/Base.xcconfig:
     10        * MiniBrowser/Configurations/Base.xcconfig:
     11        * MobileMiniBrowser/Configurations/Base.xcconfig:
     12        * TestWebKitAPI/Configurations/Base.xcconfig:
     13        * TestWebKitAPI/Tests/WTF/Expected.cpp:
     14        (TestWebKitAPI::NonCopyable::NonCopyable):
     15        * TestWebKitAPI/Tests/WTF/URLParser.cpp:
     16        (TestWebKitAPI::TEST_F):
     17        * WebKitTestRunner/Configurations/Base.xcconfig:
     18        * WebKitTestRunner/DerivedSources.make:
     19        * lldb/lldbWebKitTester/Configurations/Base.xcconfig:
     20
    1212022-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
    222
  • trunk/Tools/DumpRenderTree/DerivedSources.make

    r287770 r287848  
    3636FRAMEWORK_FLAGS := $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) $(SYSTEM_FRAMEWORK_SEARCH_PATHS) | $(PERL) -e 'print "-F " . join(" -F ", split(" ", <>));')
    3737HEADER_FLAGS := $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) $(SYSTEM_HEADER_SEARCH_PATHS) | $(PERL) -e 'print "-I" . join(" -I", split(" ", <>));')
    38 FEATURE_AND_PLATFORM_DEFINES := $(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 | $(PERL) -ne "print if s/\#define ((HAVE_|USE_|ENABLE_|WTF_PLATFORM_)\w+) 1/\1/")
     38FEATURE_AND_PLATFORM_DEFINES := $(shell $(CC) -std=gnu++2a -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | $(PERL) -ne "print if s/\#define ((HAVE_|USE_|ENABLE_|WTF_PLATFORM_)\w+) 1/\1/")
    3939
    4040# FIXME: This should list Platform.h and all the things it includes. Could do that by using the -MD flag in the CC line above.
  • trunk/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig

    r287770 r287848  
    4242FRAMEWORK_SEARCH_PATHS = $(WK_PRIVATE_FRAMEWORKS_DIR);
    4343
    44 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     44CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    4545CLANG_CXX_LIBRARY = libc++;
    4646CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Tools/MiniBrowser/Configurations/Base.xcconfig

    r287770 r287848  
    3232GCC_PREPROCESSOR_DEFINITIONS = DISABLE_LEGACY_WEBKIT_DEPRECATIONS $(inherited);
    3333
    34 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     34CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3535CLANG_CXX_LIBRARY = libc++;
    3636CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Tools/MobileMiniBrowser/Configurations/Base.xcconfig

    r287770 r287848  
    3232ALWAYS_SEARCH_USER_PATHS = NO;
    3333CLANG_ANALYZER_NONNULL = YES;
    34 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     34CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3535CLANG_CXX_LIBRARY = libc++;
    3636CLANG_ENABLE_MODULES = YES;
  • trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig

    r287770 r287848  
    3030USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
    3131
    32 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     32CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3333CLANG_CXX_LIBRARY = libc++;
    3434CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h

    r277688 r287848  
    2727
    2828#if USE(APPLE_INTERNAL_SDK)
     29
     30#if HAVE(CPP20_INCOMPATIBLE_INTERNAL_HEADERS)
     31#define CGCOLORTAGGEDPOINTER_H_
     32#endif
    2933
    3034#import <AppKit/NSInspectorBar.h>
  • trunk/Tools/TestWebKitAPI/Tests/WTF/Expected.cpp

    r287770 r287848  
    292292template<typename T>
    293293struct NonCopyable {
     294    NonCopyable(T&& t)
     295        : value(std::forward<T>(t)) { }
    294296    NonCopyable(NonCopyable&&) = default;
    295297    NonCopyable(const NonCopyable&) = delete;
  • trunk/Tools/TestWebKitAPI/Tests/WTF/URLParser.cpp

    r287770 r287848  
    10771077    checkURL("a://A:2", {"a", "", "", "A", 2, "", "", "", "a://A:2"});
    10781078    checkURL("a://A:2/", {"a", "", "", "A", 2, "/", "", "", "a://A:2/"});
    1079     checkURLDifferences(u8"asd://ß",
     1079    checkURLDifferences(reinterpret_cast<const char*>(u8"asd://ß"),
    10801080        {"asd", "", "", "%C3%83%C2%9F", 0, "", "", "", "asd://%C3%83%C2%9F"},
    10811081        {"", "", "", "", 0, "", "", "", "about:blank"}, TestTabs::No);
    1082     checkURLDifferences(u8"asd://ß:4",
     1082    checkURLDifferences(reinterpret_cast<const char*>(u8"asd://ß:4"),
    10831083        {"asd", "", "", "%C3%83%C2%9F", 4, "", "", "", "asd://%C3%83%C2%9F:4"},
    10841084        {"", "", "", "", 0, "", "", "", "about:blank"}, TestTabs::No);
    1085     checkURLDifferences(u8"asd://ß:4/",
     1085    checkURLDifferences(reinterpret_cast<const char*>(u8"asd://ß:4/"),
    10861086        {"asd", "", "", "%C3%83%C2%9F", 4, "/", "", "", "asd://%C3%83%C2%9F:4/"},
    10871087        {"", "", "", "", 0, "", "", "", "about:blank"}, TestTabs::No);
  • trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig

    r287770 r287848  
    3030USE_INTERNAL_SDK_Release = $(HAVE_INTERNAL_SDK);
    3131
    32 CLANG_CXX_LANGUAGE_STANDARD = gnu++1z;
     32CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3333CLANG_CXX_LIBRARY = libc++;
    3434CLANG_ENABLE_OBJC_WEAK = YES;
  • trunk/Tools/WebKitTestRunner/DerivedSources.make

    r287770 r287848  
    4141FRAMEWORK_FLAGS := $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) $(SYSTEM_FRAMEWORK_SEARCH_PATHS) | $(PERL) -e 'print "-F " . join(" -F ", split(" ", <>));')
    4242HEADER_FLAGS := $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) $(SYSTEM_HEADER_SEARCH_PATHS) | $(PERL) -e 'print "-I" . join(" -I", split(" ", <>));')
    43 FEATURE_AND_PLATFORM_DEFINES := $(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 | $(PERL) -ne "print if s/\#define ((HAVE_|USE_|ENABLE_|WTF_PLATFORM_)\w+) 1/\1/")
     43FEATURE_AND_PLATFORM_DEFINES := $(shell $(CC) -std=gnu++2a -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | $(PERL) -ne "print if s/\#define ((HAVE_|USE_|ENABLE_|WTF_PLATFORM_)\w+) 1/\1/")
    4444
    4545# FIXME: This should list Platform.h and all the things it includes. Could do that by using the -MD flag in the CC line above.
  • trunk/Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig

    r287770 r287848  
    3232ALWAYS_SEARCH_USER_PATHS = NO;
    3333
    34 CLANG_CXX_LANGUAGE_STANDARD = gnu++17;
     34CLANG_CXX_LANGUAGE_STANDARD = gnu++2a;
    3535CLANG_CXX_LIBRARY = libc++;
    3636CLANG_ENABLE_OBJC_WEAK = YES;
Note: See TracChangeset for help on using the changeset viewer.