From ac41b9956681d54f4487ff06922017f2753d0c45 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 19 Nov 2020 01:14:34 -0800 Subject: 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 --- source/slang/slang-check-decl.cpp | 1 + source/slang/slang-check-expr.cpp | 1 + 2 files changed, 2 insertions(+) (limited to 'source/slang') 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); } -- cgit v1.2.3