Changeset 285101 in webkit


Ignore:
Timestamp:
Nov 1, 2021, 1:42:19 AM (4 years ago)
Author:
commit-queue@webkit.org
Message:

Fix build with GCC 8.4 on Ubuntu 18.04
https://bugs.webkit.org/show_bug.cgi?id=232305

Patch by Daniel Kolesa <Daniel Kolesa> on 2021-11-01
Reviewed by Adrian Perez de Castro.

Source/WebCore:

Fix build with GCC 8.4 on Ubuntu 18.04

Thes sections of the code trigger an internal compiler error with
GCC 8.4, segfaulting the compiler. This adds a workaround that
makes it work again.

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:

(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):

Source/WebKit:

Thes sections of the code trigger an internal compiler error with
GCC 8.4, segfaulting the compiler. This adds a workaround that
makes it work again.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):

Location:
trunk/Source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r285100 r285101  
     12021-11-01  Daniel Kolesa  <dkolesa@igalia.com>
     2
     3        Fix build with GCC 8.4 on Ubuntu 18.04
     4        https://bugs.webkit.org/show_bug.cgi?id=232305
     5
     6        Reviewed by Adrian Perez de Castro.
     7
     8        Fix build with GCC 8.4 on Ubuntu 18.04
     9
     10        Thes sections of the code trigger an internal compiler error with
     11        GCC 8.4, segfaulting the compiler. This adds a workaround that
     12        makes it work again.
     13
     14        * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
     15        (WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):
     16
    1172021-10-31  Antti Koivisto  <antti@apple.com>
    218
  • trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp

    r284095 r285101  
    140140
    141141        auto promise = typeAndItem.value;
    142         promise->whenSettled([this, protectedItem = Ref { m_item }, destination = m_writingDestination, promise, type, weakItemTypeLoader = WeakPtr { itemTypeLoader }] () mutable {
     142        /* hack: gcc 8.4 will segfault if the WeakPtr is instantiated within the lambda captures */
     143        auto wl = WeakPtr { itemTypeLoader };
     144        promise->whenSettled([this, protectedItem = Ref { m_item }, destination = m_writingDestination, promise, type, weakItemTypeLoader = WTFMove(wl)] () mutable {
    143145            if (!weakItemTypeLoader)
    144146                return;
  • trunk/Source/WebKit/ChangeLog

    r285099 r285101  
     12021-11-01  Daniel Kolesa  <dkolesa@igalia.com>
     2
     3        Fix build with GCC 8.4 on Ubuntu 18.04
     4        https://bugs.webkit.org/show_bug.cgi?id=232305
     5
     6        Reviewed by Adrian Perez de Castro.
     7
     8        Thes sections of the code trigger an internal compiler error with
     9        GCC 8.4, segfaulting the compiler. This adds a workaround that
     10        makes it work again.
     11
     12        * NetworkProcess/NetworkProcess.cpp:
     13        (WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
     14
    1152021-10-31  Fujii Hironori  <Hironori.Fujii@sony.com>
    216
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r284897 r285101  
    19411941    if (websiteDataTypes.contains(WebsiteDataType::DiskCache)) {
    19421942        forEachNetworkSession([sessionID, fetchOptions, &domainsToDeleteAllNonCookieWebsiteDataFor, &callbackAggregator](auto& session) {
    1943             fetchDiskCacheEntries(session.cache(), sessionID, fetchOptions, [domainsToDeleteAllNonCookieWebsiteDataFor, callbackAggregator, session = WeakPtr { session }](auto entries) mutable {
     1943            /* hack: gcc 8.4 will segfault if the WeakPtr is instantiated within the lambda captures */
     1944            auto ws = WeakPtr { session };
     1945            fetchDiskCacheEntries(session.cache(), sessionID, fetchOptions, [domainsToDeleteAllNonCookieWebsiteDataFor, callbackAggregator, session = WTFMove(ws)](auto entries) mutable {
    19441946                if (!session)
    19451947                    return;
Note: See TracChangeset for help on using the changeset viewer.