Summary: | [MSVC] X86Assembler.h(108): error C2666: 'WebCore::operator -': 7 overloads have similar conversions | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Fujii Hironori <Hironori.Fujii> | ||||||||||
Component: | JavaScriptCore | Assignee: | Fujii Hironori <Hironori.Fujii> | ||||||||||
Status: | RESOLVED FIXED | ||||||||||||
Severity: | Normal | CC: | achristensen, ews-watchlist, keith_miller, mark.lam, msaboff, ross.kirsling, saam, webkit-bug-importer, ysuzuki | ||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||
Version: | WebKit Nightly Build | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
See Also: |
https://bugs.webkit.org/show_bug.cgi?id=191538 https://bugs.webkit.org/show_bug.cgi?id=191853 |
||||||||||||
Bug Depends on: | 189987 | ||||||||||||
Bug Blocks: | |||||||||||||
Attachments: |
|
Description
Fujii Hironori
2018-09-09 20:21:13 PDT
This reminds me Bug 188589 Comment 29. This happens since Bug 189400 change. Created attachment 349295 [details]
Patch
Comment on attachment 349295 [details] Patch Clearing flags on attachment: 349295 Committed r235839: <https://trac.webkit.org/changeset/235839> All reviewed patches have been landed. Closing bug. Reopen to find a solution. Reverted r235839 for reason: Which breaks all Xcode based ports Committed r235842: <https://trac.webkit.org/changeset/235842> Created attachment 349298 [details]
Patch
Comment on attachment 349298 [details] Patch Clearing flags on attachment: 349298 Committed r235845: <https://trac.webkit.org/changeset/235845> This is a MSVC bug fixed in the latest. https://developercommunity.visualstudio.com/content/problem/315575/overload-resolution-for-built-in-operator-and-enum.html WebKit can't update MSVC due to other bug (Bug 188635). This issue happens under following conditions: * LayoutUnit has non-explicit constructors * using namespace WebCore * X86Assembler.h is included after using namespace WebCore There are possible workarounds: * Include programmatic JSC header files before using namespace * Remove all "using namespace {WebCore|WebKit};" in Source/WebKit/WebProcess/InjectedBundle/API/c/*.cpp * Remove non-explicit constructors of LayoutUnit * Do not unify source files in Source/WebKit/WebProcess/InjectedBundle/API/c/*.cpp * Update MSVC (Bug 188635) Remaining Task: r235845 <https://trac.webkit.org/changeset/235845> should be reverted after the MSVC issue will be fixed and WinCairo build bots will be switched to the new VS (Bug 189987). Comment on attachment 349298 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=349298&action=review > Source/WebKit/ChangeLog:9 > + MSVC reports compilation errors if certain JSC header files are > + included after "using namespace" statements. I think we should probably remove the "using namespace" statements in question. This issue happens several times. And, it seems that it will take more time for Microsoft to fix the bug. We need a effective workaround not to repeat this issue until they fix MSVC. I think I should remove ": int8_t" of RegisterID only for COMPILER(MSVC). Created attachment 355252 [details]
Patch
Comment on attachment 355252 [details]
Patch
r=me
Thank you very much for the review. I'd like to wait for hours to get more feedbacks before landing. Comment on attachment 355252 [details] Patch Clearing flags on attachment: 355252 Committed r238386: <https://trac.webkit.org/changeset/238386> All reviewed patches have been landed. Closing bug. Reopening to attach new patch. Created attachment 355314 [details]
Patch
Comment on attachment 355314 [details]
Patch
You should do this in a separate bug. Our practice is 1 change per bug.
(In reply to Mark Lam from comment #23) > You should do this in a separate bug. Our practice is 1 change per bug. Agreed. Thank you for the feedback. I will do so. |