Stream: compiler development

Topic: Windows LLVM


view this post on Zulip Luke Boswell (Sep 04 2023 at 10:29):

Did the tests ever pass on Windows for the LLVM backend?

view this post on Zulip Anton (Sep 04 2023 at 10:40):

Lots of cli tests used to pass, I think those were using the LLVM backend.

view this post on Zulip Folkert de Vries (Sep 04 2023 at 10:41):

yeah cli tests passed, llvm I think mostly did but I'm not sure I got them all

view this post on Zulip Luke Boswell (Sep 04 2023 at 11:00):

Ahk, these must have regressed I think. Current main has only a handful of tests pass using LLVM backend. I've revived an older PR 5694 and updated it, and now most of the tests pass for LLVM - including 100% of the zig builtin tests. (sorry if this is not super confident... it takes an awful long time to run the test suite on Windows most tests are between 5-20 seconds to run)

view this post on Zulip Anton (Sep 04 2023 at 11:29):

Can you share the ones that work now? I'll make sure they are tested in CI.

view this post on Zulip Folkert de Vries (Sep 04 2023 at 11:32):

I think we should mostly do this on a module level (e.g. make sure all of gen_num works). Individual tests are annoying to keep track of

view this post on Zulip Luke Boswell (Sep 04 2023 at 11:39):

If someone has a look at 5694... I've just stumbled my way through to making tests compile and run on Windows but I am not confident I'm actually fixing anything.

Happy to polish that up further, and then we should be pretty close to getting whole modules working. E.g. for gen_str there are only 5 FAIL, and gen_num only 27 FAIL and they all look like similar form of LLVM error: Did not get return value from bitcode function "roc_builtins.str.to_int.u64" etc... so I'm hoping an easy fix.

view this post on Zulip Luke Boswell (Sep 04 2023 at 11:40):

Also, I apologise for the unsigned commits... still figuring out how to fix that using my Mac, the Windows machine doesn't have my gpg key.

view this post on Zulip Anton (Sep 04 2023 at 11:42):

No problem, I can take look today or tomorrow if no one else wants it.

view this post on Zulip Anton (Sep 04 2023 at 15:54):

I also don't yet have commit signing set up on windows, I'll try to make a guide.

view this post on Zulip Fábio Beirão (Sep 04 2023 at 16:09):

https://gitlab.com/-/snippets/1693803
Maybe this helps, this is the one I made for myself, for every time I re-install windows :sweat_smile:

view this post on Zulip Fábio Beirão (Sep 04 2023 at 16:09):

The keybase part is optional, it's the one I use for storing my GPG keys, but you probably have some other mechanism

view this post on Zulip Anton (Sep 04 2023 at 16:09):

Thanks @Fábio Beirão, I'll check it out

view this post on Zulip Anton (Sep 06 2023 at 18:00):

I ran into some difficult issues with my Yubikey for the commit signing, I'm closing in on them now. My (yubikey focused) guide should be ready Friday.

view this post on Zulip Anton (Sep 08 2023 at 17:35):

Done :) PR#5789
If one of you set up commit signing for the first time or transfer a key from one machine to another, please add your steps to devtools/signing.md. That way we have an up-to-date guide to make this process as easy as possible.

view this post on Zulip Luke Boswell (Dec 09 2023 at 04:51):

I ran LLVM tests using Brendan's PR and thought I would share the results here. Still some issues, however, most of these look the the same issue - 128 bit things are now passed by reference in LLVM16.

view this post on Zulip Anton (Dec 10 2023 at 10:27):

1248 passed, nice!

view this post on Zulip Luke Boswell (Dec 12 2023 at 08:37):

Were getting much closer updated results. 1302/1308 only 6 failing. :tada:

view this post on Zulip Luke Boswell (Jan 08 2024 at 01:56):

Latest results when PR #6363 is merged

     Summary [1047.715s] 1310 tests run: 1308 passed (2 slow), 2 failed, 19 skipped
        FAIL [   0.234s] test_gen::test_gen gen_erased::capture_multiple
        FAIL [   0.252s] test_gen::test_gen gen_erased::multi_branch_capturing

view this post on Zulip Luke Boswell (Jan 08 2024 at 02:01):

Both of those tests fail with not a lambda set which is interesting

--- STDERR:              test_gen::test_gen gen_erased::capture_multiple ---
An internal compiler expectation was broken.
This is definitely a compiler bug.
Please file an issue here: https://github.com/roc-lang/roc/issues/new/choose
thread 'gen_erased::capture_multiple' panicked at 'not a lambda set', crates\compiler\types\src\subs.rs:2186:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

--- STDERR:              test_gen::test_gen gen_erased::multi_branch_capturing ---
An internal compiler expectation was broken.
This is definitely a compiler bug.
Please file an issue here: https://github.com/roc-lang/roc/issues/new/choose
thread 'gen_erased::multi_branch_capturing' panicked at 'not a lambda set', crates\compiler\types\src\subs.rs:2186:22

Last updated: Jul 06 2025 at 12:14 UTC