From 2631811e33ed231d785a06c1fd6d4a7e303d22f2 Mon Sep 17 00:00:00 2001 From: Gangzheng Tong Date: Thu, 20 Mar 2025 12:00:57 -0700 Subject: Correct modifier isConst initialization (#6645) The previous implementation had two issues in the modifier processing loop: 1. isConst was incorrectly initialized to true, making the const check redundant 2. Premature loop break could skip processing important modifiers. e.g. isExtern Changes: - Initialize isConst to false by default - Remove early break condition to process all modifiers Fixes: #6606 Co-authored-by: Yong He --- source/slang/slang.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'source/slang/slang.cpp') diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 18368b33b..4ebe02736 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -2879,7 +2879,7 @@ static void collectExportedConstantInContainer( if (!varMember->val) continue; bool isExported = false; - bool isConst = true; + bool isConst = false; bool isExtern = false; for (auto modifier : m->modifiers) { @@ -2892,8 +2892,6 @@ static void collectExportedConstantInContainer( } if (as(modifier)) isConst = true; - if (isExported && isConst) - break; } if (isExported && isConst) { -- cgit v1.2.3