Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d903e56029eb849cf713810872bab1cc8bed3a7e
https://github.com/WebKit/WebKit/commit/d903e56029eb849cf713810872bab1cc8bed3a7e
Author: Yijia Huang <[email protected]>
Date: 2025-05-23 (Fri, 23 May 2025)
Changed paths:
M Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp
Log Message:
-----------
[JSC] Fix Windows build error by disambiguating std::variant assignment in
LoopUnrollingPhase
https://bugs.webkit.org/show_bug.cgi?id=293515
rdar://151950946
Reviewed by Yusuke Suzuki.
MSVC failed to compile LoopUnrollingPhase due to ambiguous std::variant
assignment when
assigning Node* values to a variant of type Variant<std::monostate, Node*,
CheckedInt32>.
MSVC eagerly instantiates template constructors and incorrectly attempts to
convert Node*
to CheckedInt32, leading to an invalid static_cast.
This patch fixes the issue by using emplace with an explicit alternative type
to disambiguate
the assignment. This ensures the correct variant alternative is chosen and
prevents invalid
template instantiations during overload resolution. No behavior change on
platforms using Clang
or GCC, but prevents Windows-specific build failure with MSVC.
* Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp:
(JSC::DFG::LoopUnrollingPhase::identifyInductionVariable):
Canonical link: https://commits.webkit.org/295385@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes