tint: include T type in converter overload diagnostics
Fixed: tint:1710 Change-Id: Iac66b5bb9e1b8f38f46e01b1d6aee0e5284eb157 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/105262 Reviewed-by: Antonio Maiorano <amaiorano@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
c889500f6e
commit
a44e3d8bea
|
@ -1643,7 +1643,13 @@ void Impl::PrintOverload(std::ostream& ss,
|
||||||
|
|
||||||
auto earliest_eval_stage = sem::EvaluationStage::kConstant;
|
auto earliest_eval_stage = sem::EvaluationStage::kConstant;
|
||||||
|
|
||||||
ss << intrinsic_name << "(";
|
ss << intrinsic_name;
|
||||||
|
if (overload->flags.Contains(OverloadFlag::kIsConverter) && overload->template_types) {
|
||||||
|
ss << "<";
|
||||||
|
ss << overload->template_types[0].name;
|
||||||
|
ss << ">";
|
||||||
|
}
|
||||||
|
ss << "(";
|
||||||
for (size_t p = 0; p < overload->num_parameters; p++) {
|
for (size_t p = 0; p < overload->num_parameters; p++) {
|
||||||
auto& parameter = overload->parameters[p];
|
auto& parameter = overload->parameters[p];
|
||||||
if (p > 0) {
|
if (p > 0) {
|
||||||
|
|
|
@ -793,11 +793,11 @@ TEST_F(IntrinsicTableTest, MismatchTypeConstructorImplicit) {
|
||||||
vec3() -> vec3<T> where: T is f32, f16, i32, u32 or bool
|
vec3() -> vec3<T> where: T is f32, f16, i32, u32 or bool
|
||||||
|
|
||||||
5 candidate conversions:
|
5 candidate conversions:
|
||||||
vec3(vec3<U>) -> vec3<f32> where: T is f32, U is abstract-int, abstract-float, i32, f16, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<f32> where: T is f32, U is abstract-int, abstract-float, i32, f16, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<f16> where: T is f16, U is abstract-int, abstract-float, f32, i32, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<f16> where: T is f16, U is abstract-int, abstract-float, f32, i32, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<i32> where: T is i32, U is abstract-int, abstract-float, f32, f16, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<i32> where: T is i32, U is abstract-int, abstract-float, f32, f16, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<u32> where: T is u32, U is abstract-int, abstract-float, f32, f16, i32 or bool
|
vec3<T>(vec3<U>) -> vec3<u32> where: T is u32, U is abstract-int, abstract-float, f32, f16, i32 or bool
|
||||||
vec3(vec3<U>) -> vec3<bool> where: T is bool, U is abstract-int, abstract-float, f32, f16, i32 or u32
|
vec3<T>(vec3<U>) -> vec3<bool> where: T is bool, U is abstract-int, abstract-float, f32, f16, i32 or u32
|
||||||
)");
|
)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -819,11 +819,11 @@ TEST_F(IntrinsicTableTest, MismatchTypeConstructorExplicit) {
|
||||||
vec3() -> vec3<T> where: T is f32, f16, i32, u32 or bool
|
vec3() -> vec3<T> where: T is f32, f16, i32, u32 or bool
|
||||||
|
|
||||||
5 candidate conversions:
|
5 candidate conversions:
|
||||||
vec3(vec3<U>) -> vec3<f32> where: T is f32, U is abstract-int, abstract-float, i32, f16, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<f32> where: T is f32, U is abstract-int, abstract-float, i32, f16, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<f16> where: T is f16, U is abstract-int, abstract-float, f32, i32, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<f16> where: T is f16, U is abstract-int, abstract-float, f32, i32, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<i32> where: T is i32, U is abstract-int, abstract-float, f32, f16, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<i32> where: T is i32, U is abstract-int, abstract-float, f32, f16, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<u32> where: T is u32, U is abstract-int, abstract-float, f32, f16, i32 or bool
|
vec3<T>(vec3<U>) -> vec3<u32> where: T is u32, U is abstract-int, abstract-float, f32, f16, i32 or bool
|
||||||
vec3(vec3<U>) -> vec3<bool> where: T is bool, U is abstract-int, abstract-float, f32, f16, i32 or u32
|
vec3<T>(vec3<U>) -> vec3<bool> where: T is bool, U is abstract-int, abstract-float, f32, f16, i32 or u32
|
||||||
)");
|
)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -875,11 +875,11 @@ TEST_F(IntrinsicTableTest, MismatchTypeConversion) {
|
||||||
vec3(x: T, y: T, z: T) -> vec3<T> where: T is abstract-int, abstract-float, f32, f16, i32, u32 or bool
|
vec3(x: T, y: T, z: T) -> vec3<T> where: T is abstract-int, abstract-float, f32, f16, i32, u32 or bool
|
||||||
|
|
||||||
5 candidate conversions:
|
5 candidate conversions:
|
||||||
vec3(vec3<U>) -> vec3<f32> where: T is f32, U is abstract-int, abstract-float, i32, f16, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<f32> where: T is f32, U is abstract-int, abstract-float, i32, f16, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<f16> where: T is f16, U is abstract-int, abstract-float, f32, i32, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<f16> where: T is f16, U is abstract-int, abstract-float, f32, i32, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<i32> where: T is i32, U is abstract-int, abstract-float, f32, f16, u32 or bool
|
vec3<T>(vec3<U>) -> vec3<i32> where: T is i32, U is abstract-int, abstract-float, f32, f16, u32 or bool
|
||||||
vec3(vec3<U>) -> vec3<u32> where: T is u32, U is abstract-int, abstract-float, f32, f16, i32 or bool
|
vec3<T>(vec3<U>) -> vec3<u32> where: T is u32, U is abstract-int, abstract-float, f32, f16, i32 or bool
|
||||||
vec3(vec3<U>) -> vec3<bool> where: T is bool, U is abstract-int, abstract-float, f32, f16, i32 or u32
|
vec3<T>(vec3<U>) -> vec3<bool> where: T is bool, U is abstract-int, abstract-float, f32, f16, i32 or u32
|
||||||
)");
|
)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue