summaryrefslogtreecommitdiffstats
path: root/source/slang/slang.cpp
diff options
context:
space:
mode:
authorGangzheng Tong <tonggangzheng@gmail.com>2025-03-20 12:00:57 -0700
committerGitHub <noreply@github.com>2025-03-20 12:00:57 -0700
commit2631811e33ed231d785a06c1fd6d4a7e303d22f2 (patch)
treef2509197933fbc2cd5feb9dae52925f628a7282a /source/slang/slang.cpp
parent9b1e10ea2602c76a97ca25c27a0b3842a5bb69de (diff)
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 <yonghe@outlook.com>
Diffstat (limited to 'source/slang/slang.cpp')
-rw-r--r--source/slang/slang.cpp4
1 files changed, 1 insertions, 3 deletions
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<ConstModifier>(modifier))
isConst = true;
- if (isExported && isConst)
- break;
}
if (isExported && isConst)
{