.gitattributes | 20 +- CMakeLists.txt | 16 +- README.md | 2 +- build.zig | 149 ++++-- ci/azure/linux_script | 6 +- cmake/Findclang.cmake | 102 ++-- cmake/Findlld.cmake | 3 + cmake/Findllvm.cmake | 9 +- doc/docgen.zig | 32 +- doc/langref.html.in | 14 +- lib/libc/glibc/abi.txt | 90 ++++ lib/libc/glibc/fns.txt | 6 + lib/libc/mingw/lib-common/shlwapi.def | 386 ++++++++++++++++ lib/libc/mingw/lib32/shlwapi.def | 376 +++++++++++++++ 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/crypto/benchmark.zig | 2 +- lib/std/debug.zig | 4 +- lib/std/dwarf.zig | 8 +- lib/std/fmt.zig | 2 +- lib/std/fs.zig | 8 +- lib/std/hash/benchmark.zig | 4 +- lib/std/http/headers.zig | 24 +- lib/std/io/in_stream.zig | 4 +- lib/std/json.zig | 31 +- lib/std/math/big/int.zig | 187 ++++++++ lib/std/math/big/rational.zig | 190 +------- lib/std/mem.zig | 29 +- lib/std/net.zig | 22 +- lib/std/os/bits/dragonfly.zig | 7 +- lib/std/process.zig | 2 +- lib/std/sort.zig | 13 +- 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 | 13 +- lib/std/testing.zig | 3 +- lib/std/unicode.zig | 4 +- lib/std/unicode/throughput_test.zig | 2 +- lib/std/zig/cross_target.zig | 10 +- lib/std/zig/parse_string_literal.zig | 63 ++- lib/std/zig/perf_test.zig | 2 +- src-self-hosted/clang_options.zig | 10 + src-self-hosted/clang_options_data.zig | 112 ++++- 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 | 172 +++++-- src/all_types.hpp | 5 +- src/analyze.cpp | 14 +- src/codegen.cpp | 569 +++++++++++++---------- src/error.cpp | 1 + src/glibc.cpp | 1 + src/ir.cpp | 797 +++++++++++++++++++++++--------- src/ir_print.cpp | 4 +- src/link.cpp | 110 ++++- 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 | 379 ++++++++++++++- test/runtime_safety.zig | 112 +++++ test/stage1/behavior.zig | 2 + test/stage1/behavior/bugs/4954.zig | 8 + test/stage1/behavior/for.zig | 4 +- test/stage1/behavior/pointers.zig | 6 +- test/stage1/behavior/slice.zig | 4 +- 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 | 57 ++- test/translate_c.zig | 65 ++- tools/merge_anal_dumps.zig | 10 +- tools/update_clang_options.zig | 57 ++- tools/update_glibc.zig | 4 +- 129 files changed, 5871 insertions(+), 1168 deletions(-)