Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7279cacdca96ff523fdeaf956a2f177b46fc2e20
https://github.com/WebKit/WebKit/commit/7279cacdca96ff523fdeaf956a2f177b46fc2e20
Author: Tadeu Zagallo <[email protected]>
Date: 2023-04-10 (Mon, 10 Apr 2023)
Changed paths:
M Source/WTF/wtf/UniqueRef.h
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
M Source/WebGPU/WGSL/Overload.cpp
M Source/WebGPU/WGSL/Overload.h
M Source/WebGPU/WGSL/TypeCheck.cpp
M Source/WebGPU/WGSL/tests/invalid/overload.wgsl
M Source/WebGPU/WGSL/tests/valid/concretization.wgsl
Log Message:
-----------
[WGSL] Update argument types after overload resolution
https://bugs.webkit.org/show_bug.cgi?id=255049
rdar://107676263
Reviewed by Myles C. Maxfield.
Overload resolution might result in argument concretization, in which case we
need to propagate that information back to the arguments. We fix that by making
the overload resolution return not only the result type, but also the resolved
type for all the arguments.
* Source/WTF/wtf/UniqueRef.h:
(WTF::UniqueRef::operator*):
(WTF::UniqueRef::operator* const):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/Overload.cpp:
(WGSL::OverloadResolver::resolve):
(WGSL::OverloadResolver::considerCandidate):
(WGSL::resolveOverloads):
* Source/WebGPU/WGSL/Overload.h:
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::visit):
(WGSL::TypeChecker::chooseOverload):
* Source/WebGPU/WGSL/tests/valid/concretization.wgsl: Added.
Canonical link: https://commits.webkit.org/262799@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes