ci/azure/windows_script.bat | 2 +- lib/libc/include/any-windows-any/intrin.h | 2 +- lib/libc/mingw/lib-common/bcrypt.def | 65 ++ lib/libc/mingw/lib-common/comctl32.def | 125 +++ lib/libc/mingw/lib-common/comdlg32.def | 34 + lib/libc/mingw/lib-common/crypt32.def | 300 ++++++ lib/libc/mingw/lib-common/cryptnet.def | 23 + lib/libc/mingw/lib-common/lz32.def | 22 + lib/libc/mingw/lib-common/mpr.def | 94 ++ lib/libc/mingw/lib-common/ncrypt.def | 137 +++ lib/libc/mingw/lib-common/netapi32.def | 386 ++++++++ lib/libc/mingw/lib-common/rpcns4.def | 71 ++ lib/libc/mingw/lib-common/rpcrt4.def | 577 +++++++++++ lib/libc/mingw/lib-common/scarddlg.def | 15 + lib/libc/mingw/lib-common/winscard.def | 84 ++ lib/libc/mingw/lib-common/winspool.def | 212 ++++ lib/libc/mingw/lib-common/ws2_32.def.in | 200 ++++ lib/libc/mingw/lib32/advapi32.def | 823 ++++++++++++++++ lib/libc/mingw/lib32/bcrypt.def | 67 ++ lib/libc/mingw/lib32/comctl32.def | 119 +++ lib/libc/mingw/lib32/comdlg32.def | 27 + lib/libc/mingw/lib32/crypt32.def | 314 ++++++ lib/libc/mingw/lib32/cryptnet.def | 26 + lib/libc/mingw/lib32/gdi32.def | 376 ++++++++ lib/libc/mingw/lib32/imm32.def | 136 +++ lib/libc/mingw/lib32/kernel32.def | 1660 ++++++++++++++++++++++++++++++++ lib/libc/mingw/lib32/lz32.def | 14 + lib/libc/mingw/lib32/mpr.def | 72 ++ lib/libc/mingw/lib32/mswsock.def | 28 + lib/libc/mingw/lib32/ncrypt.def | 61 ++ lib/libc/mingw/lib32/netapi32.def | 413 ++++++++ lib/libc/mingw/lib32/ole32.def | 405 ++++++++ lib/libc/mingw/lib32/oleaut32.def | 427 ++++++++ lib/libc/mingw/lib32/opengl32.def | 370 +++++++ lib/libc/mingw/lib32/rpcns4.def | 70 ++ lib/libc/mingw/lib32/rpcrt4.def | 568 +++++++++++ lib/libc/mingw/lib32/shell32.def | 356 +++++++ lib/libc/mingw/lib32/urlmon.def | 230 +++++ lib/libc/mingw/lib32/winmm.def | 196 ++++ lib/libc/mingw/lib32/winscard.def | 75 ++ lib/libc/mingw/lib32/winspool.def | 207 ++++ lib/libc/mingw/lib32/wintrust.def | 137 +++ lib/libc/mingw/lib32/ws2_32.def | 174 ++++ lib/libc/mingw/lib64/mswsock.def | 40 + lib/libc/mingw/lib64/opengl32.def | 376 ++++++++ lib/libc/mingw/lib64/urlmon.def | 96 ++ lib/libc/mingw/lib64/wintrust.def | 136 +++ lib/libc/mingw/libarm32/mswsock.def | 70 ++ lib/libc/mingw/libarm32/urlmon.def | 292 ++++++ lib/libc/mingw/libarm32/wintrust.def | 150 +++ lib/std/child_process.zig | 3 +- lib/std/debug.zig | 21 +- lib/std/elf.zig | 2 + lib/std/fs.zig | 1 - lib/std/fs/file.zig | 22 +- lib/std/hash.zig | 2 + lib/std/hash_map.zig | 13 +- lib/std/io.zig | 39 +- lib/std/io/test.zig | 18 + lib/std/json.zig | 62 +- lib/std/json/write_stream.zig | 218 +++++ lib/std/mem.zig | 10 + lib/std/meta.zig | 10 + lib/std/os.zig | 148 +-- lib/std/os/bits/linux.zig | 91 ++ lib/std/os/bits/linux/arm-eabi.zig | 27 +- lib/std/os/linux.zig | 14 + lib/std/os/linux/test.zig | 32 + lib/std/os/test.zig | 5 + lib/std/os/uefi.zig | 47 +- lib/std/os/uefi/protocols/absolute_pointer_protocol.zig | 12 +- lib/std/os/uefi/protocols/edid_active_protocol.zig | 2 +- lib/std/os/uefi/protocols/edid_discovered_protocol.zig | 2 +- lib/std/os/uefi/protocols/edid_override_protocol.zig | 3 +- lib/std/os/uefi/protocols/graphics_output_protocol.zig | 5 +- lib/std/os/uefi/protocols/hii.zig | 3 + lib/std/os/uefi/protocols/hii_database_protocol.zig | 5 + lib/std/os/uefi/protocols/hii_popup_protocol.zig | 2 + lib/std/os/uefi/protocols/rng_protocol.zig | 4 +- lib/std/os/uefi/protocols/simple_pointer_protocol.zig | 4 +- lib/std/os/uefi/protocols/simple_text_input_ex_protocol.zig | 7 +- lib/std/os/uefi/protocols/simple_text_output_protocol.zig | 11 +- lib/std/os/uefi/status.zig | 42 +- lib/std/os/uefi/tables/boot_services.zig | 21 +- lib/std/os/uefi/tables/configuration_table.zig | 2 - lib/std/os/uefi/tables/runtime_services.zig | 13 +- lib/std/os/uefi/tables/system_table.zig | 7 +- lib/std/os/uefi/tables/table_header.zig | 2 +- lib/std/special/compiler_rt.zig | 25 +- lib/std/special/docs/main.js | 304 +++++- lib/std/zig/parser_test.zig | 6 + lib/std/zig/render.zig | 18 +- src/all_types.hpp | 1 + src/analyze.cpp | 16 +- src/codegen.cpp | 30 +- src/dump_analysis.cpp | 176 ++-- src/link.cpp | 202 ++-- src/main.cpp | 25 +- src/zig_llvm.cpp | 82 ++ src/zig_llvm.h | 3 + test/stage1/behavior/align.zig | 7 + test/stage1/behavior/struct.zig | 20 + test/tests.zig | 21 + tools/merge_anal_dumps.zig | 454 +++++++++ 104 files changed, 12796 insertions(+), 386 deletions(-)