From af062bff8f670de6a0c4fe7be797487ba124d811 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 29 Mar 2023 18:00:34 -0700 Subject: Fix IRArrayType emit logic. (#2754) * Fix IRArrayType emit logic. * Fix test. * Fix ast constant folding. --------- Co-authored-by: Yong He --- source/slang/slang-check-expr.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 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 a14ed38d8..0f744997d 100644 --- a/source/slang/slang-check-expr.cpp +++ b/source/slang/slang-check-expr.cpp @@ -1496,13 +1496,12 @@ namespace Slang } } - auto initExpr = getInitExpr(m_astBuilder, declRef); - if(!initExpr) + if (!getInitExpr(m_astBuilder, declRef)) return nullptr; ensureDecl(declRef.decl, DeclCheckState::Checked); ConstantFoldingCircularityInfo newCircularityInfo(decl, circularityInfo); - return tryConstantFoldExpr(initExpr, &newCircularityInfo); + return tryConstantFoldExpr(getInitExpr(m_astBuilder, declRef), &newCircularityInfo); } IntVal* SemanticsVisitor::tryConstantFoldExpr( @@ -1546,12 +1545,7 @@ namespace Slang // it is possible that we are referring to a generic value param if (auto declRefExpr = expr.as()) { - auto checkedExpr = as(CheckTerm(expr.getExpr())); - if (!checkedExpr) - return nullptr; - - SubstExpr substExpr(checkedExpr, expr.getSubsts()); - auto declRef = getDeclRef(m_astBuilder, substExpr); + auto declRef = getDeclRef(m_astBuilder, declRefExpr); if (auto genericValParamRef = declRef.as()) { -- cgit v1.2.3