savi-lang / savi

A fast language for programmers who are passionate about their craft.
BSD 3-Clause "New" or "Revised" License
154 stars 12 forks source link

Fix an LLVM IR issue with recursive yielding calls. #427

Closed jemc closed 1 year ago

jemc commented 1 year ago

This use case (yielding functions that recursively call themselves) was broken in the recent work done to upgrade Savi to LLVM 15 (#417), which included fairly extensive changes to how pointers work in LLVM.

The breakage wasn't noticed until CI was run for the JSON library.

This PR fixes the issue and adds appropriate language-level tests to prevent future regressions of this use case.