Skip to content

Compiler Segfault when trying to link zigwin32 test #9523

@marler8997

Description

@marler8997

Zig Version: 0.9.0-dev.728+ee6f7fee2
Platform: Linux (specifically NixOS, doesn't occur on Windows)

Reproduce issue with:

$ git clone https://github.com/marlersoft/zigwin32 -b 10.2.118-preview zigwin32
$ git -C zigwin32 checkout aa954945e3f78ba149ff3828d151f54b4fc5ce0d -b for_zig_issue
$ zig test zigwin32/win32.zig -fPIC
Assertion failed at /home/vsts/work/1/s/src/stage1/analyze.cpp:9640 in resolve_llvm_types_fn_type. This is a bug in the Zig compiler.thread 31001 panic: 
Unable to dump stack trace: debug info stripped

Here's the output/stacktrace with a debug build of Zig. Note that the "unable to find library" errors are expected since I'm compiling on linux:

Assertion failed at /home/marler8997/git/zig/src/stage1/analyze.cpp:9640 in resolve_llvm_types_fn_type. This is a bug in the Zig compiler.thread 1074 panic: 
/home/marler8997/git/zig/src/stage1.zig:177:5: 0x7d2667 in stage2_panic (zig1)
    @panic(ptr[0..len]);
    ^
/home/marler8997/git/zig/src/stage1/util.cpp:20:11: 0x1527407 in zig_panic (/home/marler8997/git/zig/src/stage1/util.cpp)
    stage2_panic("", 0);
          ^
/home/marler8997/git/zig/src/stage1/util_base.hpp:53:5: 0x160236b in zig_assert (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        zig_panic("Assertion failed at %s:%d in %s. This is a bug in the Zig compiler.", file, line, func);
    ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9640:26: 0x1620ed9 in resolve_llvm_types_fn_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assert(gen_param_types.items[i] != nullptr);
                         ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9912:52: 0x16227da in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_fn_type(g, type);
                                                   ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9314:28: 0x161f71b in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9314:28: 0x161f71b in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:1996:37: 0x152f1ab in iter_function_params_c_abi (/home/marler8997/git/zig/src/stage1/codegen.cpp)
                fn_walk->data.types.gen_param_types->append(get_llvm_type(g, ty));
                                    ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:2269:16: 0x153032d in walk_function_params (/home/marler8997/git/zig/src/stage1/codegen.cpp)
            if (!iter_function_params_c_abi(g, fn_type, fn_walk, src_i))
               ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9634:44: 0x1620e7e in resolve_llvm_types_fn_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        walk_function_params(g, fn_type, &fn_walk);
                                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9912:52: 0x16227da in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_fn_type(g, type);
                                                   ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9325:28: 0x161f825 in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9312:51: 0x161f6e2 in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        type->llvm_type = get_llvm_type(g, peer_type);
                                                  ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9325:28: 0x161f825 in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9384:5: 0x161fc0d in resolve_llvm_types_optional (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        type->llvm_type = get_llvm_type(g, child_type);
    ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9906:54: 0x1622792 in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_optional(g, type, wanted_resolve_status);
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9954:60: 0x1622b96 in get_llvm_di_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9161:9: 0x161ebb8 in resolve_llvm_types_union (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        ZigLLVMDIType *field_di_type = get_llvm_di_type(g, union_field->type_entry);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9900:74: 0x1622744 in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_union(g, type, wanted_resolve_status);
                                                                         ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9325:28: 0x161f825 in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9384:5: 0x161fc0d in resolve_llvm_types_optional (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        type->llvm_type = get_llvm_type(g, child_type);
    ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9906:54: 0x1622792 in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_optional(g, type, wanted_resolve_status);
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:1996:37: 0x152f1ab in iter_function_params_c_abi (/home/marler8997/git/zig/src/stage1/codegen.cpp)
                fn_walk->data.types.gen_param_types->append(get_llvm_type(g, ty));
                                    ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:2269:16: 0x153032d in walk_function_params (/home/marler8997/git/zig/src/stage1/codegen.cpp)
            if (!iter_function_params_c_abi(g, fn_type, fn_walk, src_i))
               ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9634:44: 0x1620e7e in resolve_llvm_types_fn_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        walk_function_params(g, fn_type, &fn_walk);
                                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9912:52: 0x16227da in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_fn_type(g, type);
                                                   ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9314:28: 0x161f71b in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9314:28: 0x161f71b in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:1996:37: 0x152f1ab in iter_function_params_c_abi (/home/marler8997/git/zig/src/stage1/codegen.cpp)
                fn_walk->data.types.gen_param_types->append(get_llvm_type(g, ty));
                                    ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:2269:16: 0x153032d in walk_function_params (/home/marler8997/git/zig/src/stage1/codegen.cpp)
            if (!iter_function_params_c_abi(g, fn_type, fn_walk, src_i))
               ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9634:44: 0x1620e7e in resolve_llvm_types_fn_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        walk_function_params(g, fn_type, &fn_walk);
                                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9912:52: 0x16227da in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_fn_type(g, type);
                                                   ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9325:28: 0x161f825 in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9312:51: 0x161f6e2 in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        type->llvm_type = get_llvm_type(g, peer_type);
                                                  ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:8840:9: 0x161d610 in resolve_llvm_types_struct (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        (void)get_llvm_type(g, field_type);
        ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9896:79: 0x162270e in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
                return resolve_llvm_types_struct(g, type, wanted_resolve_status, nullptr);
                                                                              ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9325:28: 0x161f825 in resolve_llvm_types_pointer (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9902:75: 0x162275f in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_pointer(g, type, wanted_resolve_status);
                                                                          ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9384:5: 0x161fc0d in resolve_llvm_types_optional (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        type->llvm_type = get_llvm_type(g, child_type);
    ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9906:54: 0x1622792 in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_optional(g, type, wanted_resolve_status);
                                                     ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9947:54: 0x1622a80 in get_llvm_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
    assertNoError(type_resolve(g, type, ResolveStatusLLVMFull));
                                                     ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:1996:37: 0x152f1ab in iter_function_params_c_abi (/home/marler8997/git/zig/src/stage1/codegen.cpp)
                fn_walk->data.types.gen_param_types->append(get_llvm_type(g, ty));
                                    ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:2269:16: 0x153032d in walk_function_params (/home/marler8997/git/zig/src/stage1/codegen.cpp)
            if (!iter_function_params_c_abi(g, fn_type, fn_walk, src_i))
               ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9634:44: 0x1620e7e in resolve_llvm_types_fn_type (/home/marler8997/git/zig/src/stage1/analyze.cpp)
        walk_function_params(g, fn_type, &fn_walk);
                                           ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:9912:52: 0x16227da in resolve_llvm_types (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            return resolve_llvm_types_fn_type(g, type);
                                                   ^
/home/marler8997/git/zig/src/stage1/analyze.cpp:7127:28: 0x16186f1 in type_resolve (/home/marler8997/git/zig/src/stage1/analyze.cpp)
            resolve_llvm_types(g, ty, status);
                           ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:7585:61: 0x154637a in gen_const_val (/home/marler8997/git/zig/src/stage1/codegen.cpp)
    if ((err = type_resolve(g, type_entry, ResolveStatusLLVMFull)))
                                                            ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:8062:5: 0x1548583 in render_const_val (/home/marler8997/git/zig/src/stage1/codegen.cpp)
        const_val->llvm_value = gen_const_val(g, const_val, name);
    ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:8272:18: 0x15494a8 in do_code_gen (/home/marler8997/git/zig/src/stage1/codegen.cpp)
            render_const_val(g, var->const_value, symbol_name);
                 ^
/home/marler8997/git/zig/src/stage1/codegen.cpp:9801:37: 0x154fd49 in codegen_build_object (/home/marler8997/git/zig/src/stage1/codegen.cpp)
    do_code_gen(g);
                                    ^
/home/marler8997/git/zig/src/stage1/stage1.cpp:131:16: 0x15238b1 in zig_stage1_build_object (/home/marler8997/git/zig/src/stage1/stage1.cpp)
    codegen_build_object(g);
               ^
/home/marler8997/git/zig/src/stage1.zig:148:32: 0xbba884 in Module.build_object (zig1)
        zig_stage1_build_object(mod);
                               ^
/home/marler8997/git/zig/src/Compilation.zig:4234:31: 0x96a4c5 in Compilation.updateStage1Module (zig1)
    stage1_module.build_object();
                              ^
/home/marler8997/git/zig/src/Compilation.zig:2397:36: 0x93e4b7 in Compilation.performAllTheWork (zig1)
            self.updateStage1Module(main_progress_node) catch |err| {
                                   ^
/home/marler8997/git/zig/src/Compilation.zig:1736:31: 0x9383df in Compilation.update (zig1)
    try self.performAllTheWork();
                              ^
/home/marler8997/git/zig/src/main.zig:2402:20: 0x8cd0df in main.updateModule (zig1)
    try comp.update();
                   ^
/home/marler8997/git/zig/src/main.zig:2134:17: 0x7fc433 in main.buildOutputType (zig1)
    updateModule(gpa, comp, hook) catch |err| switch (err) {
                ^
/home/marler8997/git/zig/src/main.zig:209:31: 0x7d0e96 in main.mainArgs (zig1)
        return buildOutputType(gpa, arena, args, .zig_test);
                              ^
/home/marler8997/git/zig/src/stage1.zig:48:24: 0x7d0659 in main (zig1)
        stage2.mainArgs(gpa, arena, args) catch unreachable;
                       ^
Aborted (core dumped)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugObserved behavior contradicts documented or intended behaviorstage1The process of building from source via WebAssembly and the C backend.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions