From 051607368e8d3dd55d2ad2b2200ef656244ec70d Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 17 Feb 2023 13:23:27 -0800 Subject: Fixed crash when lowering IR for no_diff struct member. (#2658) * Fixed crash when lowering IR for no_diff struct member. * Improve `setInsertBeforeOrdinaryInst` and `setInsertAfterOrdinaryInst`. --------- Co-authored-by: Yong He --- source/slang/slang-check-type.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source/slang/slang-check-type.cpp') diff --git a/source/slang/slang-check-type.cpp b/source/slang/slang-check-type.cpp index d402dde03..1b2179144 100644 --- a/source/slang/slang-check-type.cpp +++ b/source/slang/slang-check-type.cpp @@ -84,6 +84,15 @@ namespace Slang return TranslateTypeNodeForced(typeExp); } + Type* SemanticsVisitor::getRemovedModifierType(ModifiedType* modifiedType, ModifierVal* modifier) + { + if (modifiedType->modifiers.getCount() == 1) + return modifiedType->base; + auto newModifiers = modifiedType->modifiers; + newModifiers.remove(modifier); + return m_astBuilder->getModifiedType(modifiedType->base, newModifiers); + } + Expr* SemanticsVisitor::ExpectATypeRepr(Expr* expr) { if (auto overloadedExpr = as(expr)) -- cgit v1.2.3