[Webkit-unassigned] [Bug 185947] New: WebKit (JavaScriptCore) compilation error with Clang ≥ 6

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 24 07:26:08 PDT 2018


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

            Bug ID: 185947
           Summary: WebKit (JavaScriptCore) compilation error with Clang ≥
                    6
           Product: WebKit
           Version: WebKit Local Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: lantw44 at gmail.com

Here are the error messages when compiling WebKitGTK+ 2.21.2 with Clang 6. The current WebKit trunk also has the same problem.

In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource26.cpp:6:
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/bytecode/CallLinkInfo.cpp:109:12: error: functional-style cast from 'CodeLocationLabel<JSInternalPtrTag>' to 'CodeLocationJump<JSInternalPtrTag>' uses deleted function
    return CodeLocationJump<JSInternalPtrTag>(m_callReturnLocationOrPatchableJump);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:336:5: note: candidate function [with T = JSC::CodeLocationJump<26432>, $1 = void] has been explicitly deleted
    operator T() = delete;
    ^
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/CodeLocation.h:118:14: note: candidate constructor
    explicit CodeLocationJump(MacroAssemblerCodePtr<tag> location)
             ^
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/CodeLocation.h:115:7: note: candidate is the implicit move constructor
class CodeLocationJump : public CodeLocationCommon<tag> {
      ^
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/CodeLocation.h:115:7: note: candidate is the implicit copy constructor
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/CodeLocation.h:120:14: note: candidate constructor
    explicit CodeLocationJump(void* location)
             ^
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource26.cpp:6:
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/bytecode/CallLinkInfo.cpp:115:12: error: functional-style cast from 'CodeLocationLabel<JSInternalPtrTag>' to 'CodeLocationDataLabelPtr<JSInternalPtrTag>' uses deleted function
    return CodeLocationDataLabelPtr<JSInternalPtrTag>(m_hotPathBeginOrSlowPathStart);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:336:5: note: candidate function [with T = JSC::CodeLocationDataLabelPtr<26432>, $1 = void] has been explicitly deleted
    operator T() = delete;
    ^
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/CodeLocation.h:177:14: note: candidate constructor
    explicit CodeLocationDataLabelPtr(MacroAssemblerCodePtr<tag> location)
             ^
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/CodeLocation.h:174:7: note: candidate is the implicit move constructor
class CodeLocationDataLabelPtr : public CodeLocationCommon<tag> {
      ^
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/CodeLocation.h:174:7: note: candidate is the implicit copy constructor
/home/lantw44/gnome/source/webkitgtk-2.21.2/Source/JavaScriptCore/assembler/CodeLocation.h:179:14: note: candidate constructor
    explicit CodeLocationDataLabelPtr(void* location)
             ^
2 errors generated.


I also tested a few other Clang versions, and the results are:

Clang 4 fails to compile with different error messages. I guess it is probably too old for C++17.
Clang 5 works fine.
Clang 6 fails to compile with the above error messages.
Clang 7 git snapshot (commit 53dc71d2945a91fde75ec241f48776fc739d2f75, date 2018-05-06) also fails to compile with the same messages as Clang 6.

-- 
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/20180524/4df89381/attachment-0001.html>


More information about the webkit-unassigned mailing list