From 16cd361dd67471bcc355d1b3b72b0b022518088f Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 1 Jun 2023 13:53:31 -0700 Subject: Be lenient on same-size unsigend->signed conversion. (#2913) * Be lenient on same-size unsigend->signed conversion. * Fix tests. * Use 250. * wip * Fix. * Fix tests. * Fix. --------- Co-authored-by: Yong He --- tests/compute/unbounded-array-of-array-syntax.slang.glsl | 2 +- tests/compute/unbounded-array-of-array-syntax.slang.hlsl | 2 +- tests/diagnostics/constexpr-error.slang.expected | 3 --- tests/diagnostics/enum-implicit-conversion.slang.expected | 9 --------- .../generic-invalid-type-specialization.slang.expected | 3 --- tests/experimental/liveness/liveness.slang.expected | 2 +- 6 files changed, 3 insertions(+), 18 deletions(-) (limited to 'tests') diff --git a/tests/compute/unbounded-array-of-array-syntax.slang.glsl b/tests/compute/unbounded-array-of-array-syntax.slang.glsl index b71b0cd7c..f30012cc3 100644 --- a/tests/compute/unbounded-array-of-array-syntax.slang.glsl +++ b/tests/compute/unbounded-array-of-array-syntax.slang.glsl @@ -24,7 +24,7 @@ void main() (bufferCount_0) = (g_aoa_0[_S3])._data.length(); (bufferStride_0) = 0; int innerIndex_1; - if(uint(innerIndex_0) >= bufferCount_0) + if(innerIndex_0 >= int(bufferCount_0)) { innerIndex_1 = int(bufferCount_0 - 1U); } diff --git a/tests/compute/unbounded-array-of-array-syntax.slang.hlsl b/tests/compute/unbounded-array-of-array-syntax.slang.hlsl index 3fd9ee8ea..5549c7dc3 100644 --- a/tests/compute/unbounded-array-of-array-syntax.slang.hlsl +++ b/tests/compute/unbounded-array-of-array-syntax.slang.hlsl @@ -24,7 +24,7 @@ void computeMain(vector dispatchThreadID_0 : SV_DISPATCHTHREADID) uint bufferCount_0 = _S1; - if((uint) innerIndex_1 >= bufferCount_0) + if(innerIndex_1 >= (int)bufferCount_0) { innerIndex_0 = (int) (bufferCount_0 - (uint) 1); } diff --git a/tests/diagnostics/constexpr-error.slang.expected b/tests/diagnostics/constexpr-error.slang.expected index a744fcafd..f6c27b006 100644 --- a/tests/diagnostics/constexpr-error.slang.expected +++ b/tests/diagnostics/constexpr-error.slang.expected @@ -1,8 +1,5 @@ result code = -1 standard error = { -tests/diagnostics/constexpr-error.slang(27): warning 30081: implicit conversion from 'vector' to 'vector' is not recommended - result += t.Sample(s, uv, offset); - ^~~~~~ tests/diagnostics/constexpr-error.slang(27): error 40006: expected a compile-time constant result += t.Sample(s, uv, offset); ^~~~~~ diff --git a/tests/diagnostics/enum-implicit-conversion.slang.expected b/tests/diagnostics/enum-implicit-conversion.slang.expected index 4efdc9c75..61164bbaa 100644 --- a/tests/diagnostics/enum-implicit-conversion.slang.expected +++ b/tests/diagnostics/enum-implicit-conversion.slang.expected @@ -1,11 +1,5 @@ result code = -1 standard error = { -tests/diagnostics/enum-implicit-conversion.slang(18): warning 30081: implicit conversion from 'uint' to 'int' is not recommended -int foo(uint x) { return x * 256 * 16; } - ^ -tests/diagnostics/enum-implicit-conversion.slang(22): warning 30081: implicit conversion from 'uint' to 'int' is not recommended -int bar(uint x) { return x * 256 * 256 * 16; } - ^ tests/diagnostics/enum-implicit-conversion.slang(27): error 30019: expected an expression of type 'Color', got 'int' Color c = val; ^~~ @@ -23,9 +17,6 @@ tests/diagnostics/enum-implicit-conversion.slang(42): error 39999: ambiguous cal ^ tests/diagnostics/enum-implicit-conversion.slang(18): note 39999: candidate: func foo(uint) -> int tests/diagnostics/enum-implicit-conversion.slang(17): note 39999: candidate: func foo(int) -> int -tests/diagnostics/enum-implicit-conversion.slang(47): warning 30081: implicit conversion from 'uint' to 'int' is not recommended - return x + y + z; - ^ } standard output = { } diff --git a/tests/diagnostics/generic-invalid-type-specialization.slang.expected b/tests/diagnostics/generic-invalid-type-specialization.slang.expected index 0fc68f6b6..3c323ef46 100644 --- a/tests/diagnostics/generic-invalid-type-specialization.slang.expected +++ b/tests/diagnostics/generic-invalid-type-specialization.slang.expected @@ -1,8 +1,5 @@ result code = -1 standard error = { -tests/diagnostics/generic-invalid-type-specialization.slang(14): warning 30081: implicit conversion from 'uint' to 'int' is not recommended - int index = dispatchThreadID.x; - ^ tests/diagnostics/generic-invalid-type-specialization.slang(17): error 30060: expected a type, got a 'int' Check<2 + 2> v; ^ diff --git a/tests/experimental/liveness/liveness.slang.expected b/tests/experimental/liveness/liveness.slang.expected index aadc15d90..fe49e85d1 100644 --- a/tests/experimental/liveness/liveness.slang.expected +++ b/tests/experimental/liveness/liveness.slang.expected @@ -47,7 +47,7 @@ int someSlowFunc_0(int a_0) uint _S5 = v_0 >> 1; uint _S6 = v_0; livenessEnd_1(v_0, 0); - uint _S7 = (_S5 | _S6 << 31) * uint(i_0); + uint _S7 = uint(int(_S5 | _S6 << 31) * i_0); int i_1 = i_0 + 1; livenessStart_0(v_0, 0); v_0 = _S7; -- cgit v1.2.3