From cdfea42f1b28c6ec7b13500a64be823f67bf8e0a Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Fri, 7 Jul 2023 03:52:00 +0800 Subject: Fix erroneous error claiming variable is being used before its declaration (#2958) * Simplify type of diagnoseImpl * Show source line for Note diagnostics, opting out of this where appropriate * Make declared after use diagnostic clearer * Fix erroneous error claiming variable is being used before its declaration Closes https://github.com/shader-slang/slang/issues/2936 * Fix build on msvc --------- Co-authored-by: jsmall-nvidia --- tests/diagnostics/variable-redeclaration.slang.expected | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/diagnostics/variable-redeclaration.slang.expected') diff --git a/tests/diagnostics/variable-redeclaration.slang.expected b/tests/diagnostics/variable-redeclaration.slang.expected index d18e5fb2a..944037b1c 100644 --- a/tests/diagnostics/variable-redeclaration.slang.expected +++ b/tests/diagnostics/variable-redeclaration.slang.expected @@ -4,23 +4,35 @@ tests/diagnostics/variable-redeclaration.slang(14): error 30200: declaration of static Texture2D gA; ^~ tests/diagnostics/variable-redeclaration.slang(12): note: see previous declaration of 'gA' +static int gA; + ^~ tests/diagnostics/variable-redeclaration.slang(44): error 30200: declaration of 'f' conflicts with existing declaration float f; ^ tests/diagnostics/variable-redeclaration.slang(43): note: see previous declaration of 'f' + int f; + ^ tests/diagnostics/variable-redeclaration.slang(51): error 30200: declaration of 'size' conflicts with existing declaration float size) ^~~~ tests/diagnostics/variable-redeclaration.slang(50): note: see previous declaration of 'size' + int size, + ^~~~ tests/diagnostics/variable-redeclaration.slang(21): error 30200: declaration of 'y' conflicts with existing declaration int y = x; ^ tests/diagnostics/variable-redeclaration.slang(20): note: see previous declaration of 'y' + int y = x; + ^ tests/diagnostics/variable-redeclaration.slang(53): error 39999: ambiguous reference to 'size' return size; ^~~~ tests/diagnostics/variable-redeclaration.slang(51): note 39999: candidate: float size + float size) + ^~~~ tests/diagnostics/variable-redeclaration.slang(50): note 39999: candidate: int size + int size, + ^~~~ } standard output = { } -- cgit v1.2.3