summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2020-11-19 01:14:34 -0800
committerGitHub <noreply@github.com>2020-11-19 01:14:34 -0800
commitac41b9956681d54f4487ff06922017f2753d0c45 (patch)
tree74b2e92419777ccd8c81c61206d96e16b52e8b44 /source
parente140c4950eb8c69606386ca57284c0655513b9e1 (diff)
Fix constant folding in attributes (#1610)
* Fix constant folding in attributes * remove unnecessary change * remove unnecessary change * remove unnecessary change * Fixed circular checking issue. * cleanup * more cleanup * minimize diff * minimize diff * minimize diff
Diffstat (limited to 'source')
-rw-r--r--source/slang/slang-check-decl.cpp1
-rw-r--r--source/slang/slang-check-expr.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/source/slang/slang-check-decl.cpp b/source/slang/slang-check-decl.cpp
index e7c2a5853..8c11e538d 100644
--- a/source/slang/slang-check-decl.cpp
+++ b/source/slang/slang-check-decl.cpp
@@ -1017,6 +1017,7 @@ namespace Slang
// We need to ensure that any variable doesn't introduce
// a constant with a circular definition.
//
+ varDecl->setCheckState(DeclCheckState::Checked);
_validateCircularVarDefinition(varDecl);
}
else
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp
index 39fd7d1dd..47f5436c5 100644
--- a/source/slang/slang-check-expr.cpp
+++ b/source/slang/slang-check-expr.cpp
@@ -858,6 +858,7 @@ namespace Slang
if(!initExpr)
return nullptr;
+ ensureDecl(declRef.decl, DeclCheckState::Checked);
ConstantFoldingCircularityInfo newCircularityInfo(decl, circularityInfo);
return tryConstantFoldExpr(initExpr, &newCircularityInfo);
}