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

Reply via email to