Bug 226850 - clang-cl: JIT.h(966,67): error: no viable conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'FunctionPtr<CFunctionPtrTag>'
Summary: clang-cl: JIT.h(966,67): error: no viable conversion from 'JSC::AbstractMacro...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-06-09 13:49 PDT by Fujii Hironori
Modified: 2021-06-09 18:41 PDT (History)
8 users (show)

See Also:


Attachments
WIP patch (1.90 KB, patch)
2021-06-09 14:17 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (3.08 KB, patch)
2021-06-09 15:08 PDT, Fujii Hironori
ews-feeder: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2021-06-09 13:49:55 PDT
clang-cl: JIT.h(966,67): error: no viable conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'FunctionPtr<CFunctionPtrTag>'

WinCairo clang-cl builds got broken since r278656 (238638@main, Bug 226072).
MSVC builds are fine.

[1125/5728] Building CXX object Source\JavaScriptCore\CMakeFiles\JavaScriptCore.dir\__\__\JavaScriptCore\DerivedSources\unified-sources\UnifiedSource-3a3c4ec0-6.cpp.obj
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-3a3c4ec0-6.cpp.obj 
C:\PROGRA~1\LLVM\bin\clang-cl.exe  /nologo -TP -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DNOCRYPT -DNOMINMAX -DUNICODE -DWINVER=0x601 -DWTF_PLATFORM_WIN_CAIRO=1 -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -D_WIN32_WINNT=0x601 -D_WINDOWS -D_WINSOCKAPI_="" -IJavaScriptCore\Headers -I. -I..\..\Source\JavaScriptCore -I..\..\Source\JavaScriptCore\API -I..\..\Source\JavaScriptCore\assembler -I..\..\Source\JavaScriptCore\b3 -I..\..\Source\JavaScriptCore\b3\air -I..\..\Source\JavaScriptCore\bindings -I..\..\Source\JavaScriptCore\builtins -I..\..\Source\JavaScriptCore\bytecode -I..\..\Source\JavaScriptCore\bytecompiler -I..\..\Source\JavaScriptCore\dfg -I..\..\Source\JavaScriptCore\disassembler -I..\..\Source\JavaScriptCore\disassembler\ARM64 -I..\..\Source\JavaScriptCore\disassembler\udis86 -I..\..\Source\JavaScriptCore\domjit -I..\..\Source\JavaScriptCore\ftl -I..\..\Source\JavaScriptCore\heap -I..\..\Source\JavaScriptCore\debugger -I..\..\Source\JavaScriptCore\inspector -I..\..\Source\JavaScriptCore\inspector\agents -I..\..\Source\JavaScriptCore\inspector\augmentable -I..\..\Source\JavaScriptCore\inspector\remote -I..\..\Source\JavaScriptCore\interpreter -I..\..\Source\JavaScriptCore\jit -I..\..\Source\JavaScriptCore\llint -I..\..\Source\JavaScriptCore\parser -I..\..\Source\JavaScriptCore\profiler -I..\..\Source\JavaScriptCore\runtime -I..\..\Source\JavaScriptCore\tools -I..\..\Source\JavaScriptCore\wasm -I..\..\Source\JavaScriptCore\wasm\js -I..\..\Source\JavaScriptCore\yarr -IJavaScriptCore\DerivedSources -IJavaScriptCore\DerivedSources\inspector -IJavaScriptCore\DerivedSources\runtime -IJavaScriptCore\DerivedSources\yarr -I..\include\private -I..\..\Source\JavaScriptCore\inspector\remote\socket -IWTF\Headers -imsvc ..\..\WebKitLibraries\win\include /W4 -fdiagnostics-color=always -fcolor-diagnostics -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-unknown-argument -Wno-nonportable-include-path -Wno-unknown-pragmas -Wno-macro-redefined -Wno-undef /DWIN32 /D_WINDOWS  /GR- /EHsc- -fno-strict-aliasing /MD /Zi /Ob0 /Od /RTC1 /wd4018 /wd4060 /wd4068 /wd4100 /wd4127 /wd4146 /wd4189 /wd4201 /wd4244 /wd4245 /wd4251 /wd4275 /wd4267 /wd4305 /wd4309 /wd4312 /wd4324 /wd4389 /wd4456 /wd4457 /wd4458 /wd4459 /wd4505 /wd4611 /wd4646 /wd4701 /wd4702 /wd4706 /wd4715 /wd4722 /wd4838 /wd4840 /wd4996 /wd5205 /Zi /GS /EHa- /EHc- /EHs- /fp:except- /analyze- /bigobj /utf-8 /validate-charset -fmsc-version=1911 -ffp-contract=off -fno-slp-vectorize -std:c++17 /showIncludes /FoSource\JavaScriptCore\CMakeFiles\JavaScriptCore.dir\__\__\JavaScriptCore\DerivedSources\unified-sources\UnifiedSource-3a3c4ec0-6.cpp.obj /FdSource\JavaScriptCore\CMakeFiles\JavaScriptCore.dir\ -c -- JavaScriptCore\DerivedSources\unified-sources\UnifiedSource-3a3c4ec0-6.cpp
In file included from JavaScriptCore\DerivedSources\unified-sources\UnifiedSource-3a3c4ec0-6.cpp:1:
In file included from ..\..\Source\JavaScriptCore\jit/JITPropertyAccess.cpp:29:
..\..\Source\JavaScriptCore\jit/JIT.h(966,67): error: no viable conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'FunctionPtr<CFunctionPtrTag>'
                appendCallWithExceptionCheckAndSlowPathReturnType(Address(GPRInfo::nonArgGPR0, target.offset));
                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..\..\Source\JavaScriptCore\jit/JITPropertyAccess.cpp(2985,12): note: in instantiation of function template specialization 'JSC::JIT::emitPutByValWithCachedId<JSC::OpPutPrivateName>' requested here
    return emitPutByValWithCachedId(bytecode, putKind, propertyName, doneCases, slowCases);
           ^
..\..\Source\JavaScriptCore\assembler\MacroAssemblerCodeRef.h(132,7): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'const JSC::FunctionPtr<WTF::CFunctionPtrTag> &' for 1st argument
class FunctionPtr {
      ^
..\..\Source\JavaScriptCore\assembler\MacroAssemblerCodeRef.h(132,7): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'JSC::FunctionPtr<WTF::CFunctionPtrTag> &&' for 1st argument
..\..\Source\JavaScriptCore\assembler\MacroAssemblerCodeRef.h(135,5): note: candidate constructor not viable: no known conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
    FunctionPtr(std::nullptr_t) { }
    ^
..\..\Source\JavaScriptCore\assembler\MacroAssemblerCodeRef.h(138,5): note: candidate template ignored: could not match 'ReturnType (*)(Arguments...)' against 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address'
    FunctionPtr(ReturnType(*value)(Arguments...))
    ^
..\..\Source\JavaScriptCore\assembler\MacroAssemblerCodeRef.h(172,14): note: explicit constructor is not a candidate
    explicit FunctionPtr(PtrType value)
             ^
..\..\Source\JavaScriptCore\assembler\MacroAssemblerCodeRef.h(182,14): note: explicit constructor is not a candidate
    explicit FunctionPtr(MacroAssemblerCodePtr<tag>);
             ^
..\..\Source\JavaScriptCore\assembler\MacroAssemblerCodeRef.h(211,14): note: explicit constructor is not a candidate
    explicit FunctionPtr(const FunctionPtr<otherTag>& other)
             ^
..\..\Source\JavaScriptCore\jit/JITInlines.h(138,126): note: passing argument to parameter 'function' here
ALWAYS_INLINE MacroAssembler::Call JIT::appendCallWithExceptionCheckAndSlowPathReturnType(const FunctionPtr<CFunctionPtrTag> function)
                                                                                                                             ^
1 error generated.
Comment 1 Fujii Hironori 2021-06-09 14:17:55 PDT
Created attachment 431010 [details]
WIP patch
Comment 2 Fujii Hironori 2021-06-09 15:08:15 PDT
Created attachment 431015 [details]
Patch
Comment 3 Yusuke Suzuki 2021-06-09 16:05:41 PDT
Comment on attachment 431015 [details]
Patch

This is OK for now.
Comment 4 Fujii Hironori 2021-06-09 18:32:50 PDT
Comment on attachment 431015 [details]
Patch

Clearing flags on attachment: 431015

Committed r278687 (238661@main): <https://commits.webkit.org/238661@main>
Comment 5 Fujii Hironori 2021-06-09 18:32:54 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2021-06-09 18:33:16 PDT
<rdar://problem/79113125>
Comment 7 EWS 2021-06-09 18:41:09 PDT
Found 1 new test failure: imported/w3c/web-platform-tests/navigation-timing/nav2_test_attributes_values.html