.gitattributes | 20 +- CMakeLists.txt | 12 +- build.zig | 144 ++++-- cmake/Findllvm.cmake | 5 +- lib/libc/glibc/abi.txt | 90 ++++ lib/libc/glibc/fns.txt | 6 + lib/libc/mingw/lib32/version.def | 16 + lib/libc/mingw/libsrc/ativscp-uuid.c | 16 + lib/libc/mingw/libsrc/atsmedia-uuid.c | 7 + lib/libc/mingw/libsrc/bth-uuid.c | 84 ++++ lib/libc/mingw/libsrc/cguid-uuid.c | 19 + lib/libc/mingw/libsrc/comcat-uuid.c | 30 ++ lib/libc/mingw/libsrc/devguid.c | 61 +++ lib/libc/mingw/libsrc/docobj-uuid.c | 15 + lib/libc/mingw/libsrc/dxva-uuid.c | 40 ++ lib/libc/mingw/libsrc/exdisp-uuid.c | 18 + lib/libc/mingw/libsrc/extras-uuid.c | 42 ++ lib/libc/mingw/libsrc/fwp-uuid.c | 7 + lib/libc/mingw/libsrc/guid_nul.c | 4 + lib/libc/mingw/libsrc/hlguids-uuid.c | 15 + lib/libc/mingw/libsrc/hlink-uuid.c | 13 + lib/libc/mingw/libsrc/mlang-uuid.c | 13 + lib/libc/mingw/libsrc/msctf-uuid.c | 31 ++ lib/libc/mingw/libsrc/mshtmhst-uuid.c | 3 + lib/libc/mingw/libsrc/mshtml-uuid.c | 147 +++++++ lib/libc/mingw/libsrc/msxml-uuid.c | 29 ++ lib/libc/mingw/libsrc/netcon-uuid.c | 19 + lib/libc/mingw/libsrc/ntddkbd-uuid.c | 7 + lib/libc/mingw/libsrc/ntddmou-uuid.c | 7 + lib/libc/mingw/libsrc/ntddpar-uuid.c | 12 + lib/libc/mingw/libsrc/ntddscsi-uuid.c | 8 + lib/libc/mingw/libsrc/ntddser-uuid.c | 11 + lib/libc/mingw/libsrc/ntddstor-uuid.c | 41 ++ lib/libc/mingw/libsrc/ntddvdeo-uuid.c | 7 + lib/libc/mingw/libsrc/oaidl-uuid.c | 20 + lib/libc/mingw/libsrc/objidl-uuid.c | 43 ++ lib/libc/mingw/libsrc/objsafe-uuid.c | 9 + lib/libc/mingw/libsrc/ocidl-uuid.c | 46 ++ lib/libc/mingw/libsrc/oleacc-uuid.c | 12 + lib/libc/mingw/libsrc/olectlid-uuid.c | 36 ++ lib/libc/mingw/libsrc/oleidl-uuid.c | 27 ++ lib/libc/mingw/libsrc/power-uuid.c | 18 + lib/libc/mingw/libsrc/powrprof-uuid.c | 15 + lib/libc/mingw/libsrc/uianimation-uuid.c | 44 ++ lib/libc/mingw/libsrc/usbcamdi-uuid.c | 7 + lib/libc/mingw/libsrc/usbiodef-uuid.c | 18 + lib/libc/mingw/libsrc/uuid.c | 397 +++++++++++++++++ lib/libc/mingw/libsrc/vds-uuid.c | 12 + lib/libc/mingw/libsrc/virtdisk-uuid.c | 4 + lib/libc/mingw/libsrc/wia-uuid.c | 106 +++++ lib/libc/mingw/misc/___mb_cur_max_func.c | 18 + lib/std/array_list.zig | 203 +++++---- lib/std/array_list_sentineled.zig | 16 +- lib/std/atomic/queue.zig | 20 +- lib/std/build.zig | 4 +- lib/std/build/emit_raw.zig | 2 +- lib/std/builtin.zig | 2 +- lib/std/coff.zig | 2 +- lib/std/debug.zig | 2 +- lib/std/dwarf.zig | 8 +- lib/std/fmt.zig | 2 +- lib/std/fs.zig | 6 +- lib/std/hash/benchmark.zig | 4 +- lib/std/http/headers.zig | 24 +- lib/std/io/in_stream.zig | 4 +- lib/std/json.zig | 20 +- lib/std/math/big/rational.zig | 1 - lib/std/mem.zig | 29 +- lib/std/net.zig | 22 +- lib/std/process.zig | 2 +- lib/std/special/build_runner.zig | 2 +- lib/std/special/compiler_rt.zig | 2 + lib/std/special/compiler_rt/atomics.zig | 278 ++++++++++++ lib/std/target.zig | 7 +- lib/std/unicode.zig | 4 +- lib/std/unicode/throughput_test.zig | 2 +- lib/std/zig/cross_target.zig | 10 +- lib/std/zig/perf_test.zig | 2 +- src-self-hosted/clang_options_data.zig | 38 +- src-self-hosted/libc_installation.zig | 66 +-- src-self-hosted/main.zig | 2 +- src-self-hosted/stage2.zig | 7 +- src-self-hosted/translate_c.zig | 111 +++-- src/all_types.hpp | 1 + src/analyze.cpp | 8 + src/codegen.cpp | 307 +++++++------ src/error.cpp | 1 + src/glibc.cpp | 1 + src/ir.cpp | 752 +++++++++++++++++++++++--------- src/link.cpp | 109 ++++- src/main.cpp | 50 ++- src/os.cpp | 2 + src/stage2.h | 2 + src/target.cpp | 2 + src/zig_clang.h | 4 +- src/zig_llvm.cpp | 17 +- src/zig_llvm.h | 9 +- test/compile_errors.zig | 305 +++++++++++++ test/runtime_safety.zig | 43 ++ test/stage1/behavior.zig | 1 + test/stage1/behavior/slice_sentinel_comptime.zig | 199 +++++++++ test/stage1/behavior/tuple.zig | 47 +- test/stage1/behavior/vector.zig | 195 +++++++++ test/standalone/brace_expansion/main.zig | 4 +- test/tests.zig | 47 +- test/translate_c.zig | 32 ++ tools/merge_anal_dumps.zig | 10 +- tools/update_clang_options.zig | 20 + tools/update_glibc.zig | 4 +- 109 files changed, 4205 insertions(+), 702 deletions(-)