diff options
| -rw-r--r-- | source/slang/slang-check-stmt.cpp | 2 | ||||
| -rw-r--r-- | tests/bugs/serialization/gh-6892.slang | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/source/slang/slang-check-stmt.cpp b/source/slang/slang-check-stmt.cpp index 8a914c60b..9525f71c9 100644 --- a/source/slang/slang-check-stmt.cpp +++ b/source/slang/slang-check-stmt.cpp @@ -880,7 +880,7 @@ void SemanticsStmtVisitor::tryInferLoopMaxIterations(ForStmt* stmt) // if the loop body modifies the induction variable. // auto maxItersAttr = m_astBuilder->create<InferredMaxItersAttribute>(); - auto litExpr = m_astBuilder->create<LiteralExpr>(); + auto litExpr = m_astBuilder->create<IntegerLiteralExpr>(); litExpr->type.type = m_astBuilder->getIntType(); litExpr->token.setName(getNamePool()->getName(String(iterations))); maxItersAttr->args.add(litExpr); diff --git a/tests/bugs/serialization/gh-6892.slang b/tests/bugs/serialization/gh-6892.slang new file mode 100644 index 000000000..1235c292c --- /dev/null +++ b/tests/bugs/serialization/gh-6892.slang @@ -0,0 +1,9 @@ +//TEST:COMPILE: tests/bugs/serialization/gh-6892.slang -o tests/bugs/serialization/gh-6892.slang-module + +// assertion failure when compiling to a slang module + +void f() +{ + for (int i = 0; i < 1; ++i) + ; +} |
