[Webkit-unassigned] [Bug 245574] New: WebKit-GTK 2.36.8 fails to build against libcxx-15

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 23 06:17:03 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=245574

            Bug ID: 245574
           Summary: WebKit-GTK 2.36.8 fails to build against libcxx-15
           Product: WebKit
           Version: Other
          Hardware: Unspecified
                OS: Linux
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKitGTK
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: webkit+bugs at nickschas.de
                CC: bugs-noreply at webkitgtk.org

Created attachment 462561

  --> https://bugs.webkit.org/attachment.cgi?id=462561&action=review

Build log

When trying to build webkit-gtk against the newly released libcxx-15.0.1, I get the following static assertion:

In file included from /var/tmp/portage/net-libs/webkit-gtk-2.36.8/work/webkitgtk-2.36.8_build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-3a3c4ec0-3.cpp:1:
In file included from /var/tmp/portage/net-libs/webkit-gtk-2.36.8/work/webkitgtk-2.36.8/Source/JavaScriptCore/jit/JIT.cpp:26:
In file included from /var/tmp/portage/net-libs/webkit-gtk-2.36.8/work/webkitgtk-2.36.8/Source/JavaScriptCore/config.h:38:
In file included from /var/tmp/portage/net-libs/webkit-gtk-2.36.8/work/webkitgtk-2.36.8_build/WTF/Headers/wtf/FastMalloc.h:26:
In file included from /var/tmp/portage/net-libs/webkit-gtk-2.36.8/work/webkitgtk-2.36.8_build/WTF/Headers/wtf/StdLibExtras.h:30:
In file included from /usr/include/c++/v1/memory:842:
In file included from /usr/include/c++/v1/__algorithm/move.h:12:
/usr/include/c++/v1/__algorithm/iterator_operations.h:100:5: error: static assertion failed due to requirement 'is_same<JSC::UnlinkedCallLinkInfo &, const JSC::UnlinkedCallLinkInfo &>::value': It looks like your iterator's `iterator_traits<It>::
reference` does not match the return type of dereferencing the iterator, i.e., calling `*it`. This is undefined behavior according to [input.iterators] and can lead to dangling reference issues at runtime, so we are flagging this.
    static_assert(is_same<__deref_t<_Iter>, typename iterator_traits<__uncvref_t<_Iter> >::reference>::value,
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__algorithm/iterator_operations.h:115:5: note: in instantiation of function template specialization 'std::_IterOps<std::_ClassicAlgPolicy>::__validate_iter_reference<WTF::SegmentedVectorIterator<JSC::UnlinkedCallLinkInfo, 8> &>' requested here
    __validate_iter_reference<_Iter>();
    ^
/usr/include/c++/v1/__algorithm/move.h:34:39: note: in instantiation of function template specialization 'std::_IterOps<std::_ClassicAlgPolicy>::__iter_move<WTF::SegmentedVectorIterator<JSC::UnlinkedCallLinkInfo, 8> &>' requested here
    *__result = _IterOps<_AlgPolicy>::__iter_move(__first);
                                      ^
/usr/include/c++/v1/__algorithm/move.h:97:21: note: in instantiation of function template specialization 'std::__move_impl<std::_ClassicAlgPolicy, WTF::SegmentedVectorIterator<JSC::UnlinkedCallLinkInfo, 8>, WTF::SegmentedVectorIterator<JSC::UnlinkedCallLinkInfo, 8>, JSC::UnlinkedCallLinkInfo *>' requested here
  auto __ret = std::__move_impl<_AlgPolicy>(
                    ^
/usr/include/c++/v1/__algorithm/move.h:114:15: note: in instantiation of function template specialization 'std::__move<std::_ClassicAlgPolicy, WTF::SegmentedVectorIterator<JSC::UnlinkedCallLinkInfo, 8>, WTF::SegmentedVectorIterator<JSC::UnlinkedCallLinkInfo, 8>, JSC::UnlinkedCallLinkInfo *>' requested here
  return std::__move<_ClassicAlgPolicy>(__first, __last, __result).second;
              ^
/var/tmp/portage/net-libs/webkit-gtk-2.36.8/work/webkitgtk-2.36.8/Source/JavaScriptCore/jit/JIT.cpp:993:14: note: in instantiation of function template specialization 'std::__1::move<WTF::SegmentedVectorIterator<JSC::UnlinkedCallLinkInfo, 8>, JSC::UnlinkedCallLinkInfo *>' requested here
        std::move(m_unlinkedCalls.begin(), m_unlinkedCalls.end(), m_jitCode->m_unlinkedCalls.begin());
             ^

This used to work with previous versions of libcxx, so I guess something was made stricter inside the library.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220923/bf2e3a86/attachment.htm>


More information about the webkit-unassigned mailing list