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 --- source/slang/slang-check-expr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/slang/slang-check-expr.cpp') diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp index aa3ca889d..11b560d93 100644 --- a/source/slang/slang-check-expr.cpp +++ b/source/slang/slang-check-expr.cpp @@ -1909,7 +1909,7 @@ namespace Slang { if(!thisExpr->type.isLeftValue) { - getSink()->diagnose(thisExpr, Diagnostics::thisIsImmutableByDefault); + getSink()->diagnoseWithoutSourceView(thisExpr, Diagnostics::thisIsImmutableByDefault); } } } @@ -2130,7 +2130,7 @@ namespace Slang diagnostic = &Diagnostics::implicitCastUsedAsLValue; } - getSink()->diagnose( + getSink()->diagnoseWithoutSourceView( argExpr, *diagnostic, implicitCastExpr->arguments[pp]->type, -- cgit v1.2.3