CMakeLists.txt | 2 +- build.zig | 4 +- doc/langref.html.in | 5 +- lib/compiler/aro/aro/pragmas/gcc.zig | 12 +- lib/compiler/aro/aro/pragmas/message.zig | 2 +- lib/compiler/aro/aro/pragmas/once.zig | 6 +- lib/compiler/aro/aro/pragmas/pack.zig | 4 +- lib/compiler/aro/backend/Object.zig | 10 +- lib/compiler/aro_translate_c.zig | 20 +- lib/compiler/aro_translate_c/ast.zig | 16 +- lib/compiler/resinator/ast.zig | 173 +- lib/compiler/resinator/compile.zig | 66 +- lib/compiler/resinator/parse.zig | 2 +- lib/docs/wasm/Walk.zig | 12 +- lib/std/Build.zig | 4 +- lib/std/Build/Step.zig | 2 +- lib/std/Build/Step/CheckFile.zig | 2 +- lib/std/Build/Step/CheckObject.zig | 2 +- lib/std/Build/Step/Compile.zig | 2 +- lib/std/Build/Step/ConfigHeader.zig | 2 +- lib/std/Build/Step/Fmt.zig | 2 +- lib/std/Build/Step/InstallArtifact.zig | 2 +- lib/std/Build/Step/InstallDir.zig | 2 +- lib/std/Build/Step/InstallFile.zig | 2 +- lib/std/Build/Step/ObjCopy.zig | 2 +- lib/std/Build/Step/Options.zig | 2 +- lib/std/Build/Step/RemoveDir.zig | 2 +- lib/std/Build/Step/Run.zig | 2 +- lib/std/Build/Step/TranslateC.zig | 2 +- lib/std/Build/Step/WriteFile.zig | 2 +- lib/std/Thread/Futex.zig | 6 +- lib/std/Thread/Pool.zig | 4 +- lib/std/c/darwin.zig | 4 +- lib/std/c/dragonfly.zig | 6 +- lib/std/c/freebsd.zig | 4 +- lib/std/c/haiku.zig | 2 +- lib/std/c/netbsd.zig | 4 +- lib/std/c/openbsd.zig | 4 +- lib/std/c/solaris.zig | 4 +- lib/std/debug.zig | 2 +- lib/std/http/Client.zig | 2 +- lib/std/os/emscripten.zig | 4 +- lib/std/os/linux.zig | 6 +- lib/std/os/plan9.zig | 4 +- lib/std/start.zig | 2 +- lib/std/zig.zig | 1 + lib/std/zig/AstGen.zig | 101 +- lib/std/zig/AstRlAnnotate.zig | 2 +- lib/std/zig/BuiltinFn.zig | 2 +- lib/std/zig/Zir.zig | 19 +- lib/std/zig/c_translation.zig | 2 +- lib/zig.h | 27 +- src/Compilation.zig | 16 +- src/InternPool.zig | 70 +- src/Module.zig | 6 +- src/Sema.zig | 298 ++- src/Value.zig | 16 +- src/arch/wasm/CodeGen.zig | 30 +- src/arch/x86_64/CodeGen.zig | 43 +- src/arch/x86_64/Encoding.zig | 5 +- src/codegen.zig | 6 +- src/codegen/c.zig | 3791 ++++++++++++++++---------------- src/codegen/c/Type.zig | 2491 +++++++++++++++++++++ src/codegen/c/type.zig | 2318 ------------------- src/codegen/llvm.zig | 48 +- src/crash_report.zig | 2 +- src/link.zig | 95 +- src/link/C.zig | 321 ++- src/link/Coff.zig | 6 +- src/link/Elf.zig | 2 +- src/link/Elf/Atom.zig | 2 +- src/link/Elf/ZigObject.zig | 2 +- src/link/Elf/relocatable.zig | 2 +- src/link/Elf/thunks.zig | 2 +- src/link/MachO.zig | 2 +- src/link/MachO/relocatable.zig | 2 +- src/link/Wasm.zig | 2 +- src/link/tapi/parse.zig | 39 +- src/main.zig | 6 +- src/print_value.zig | 2 +- src/print_zir.zig | 23 +- src/register_manager.zig | 2 +- src/target.zig | 2 +- src/type.zig | 52 +- stage1/zig.h | 27 +- stage1/zig1.wasm | Bin 2643730 -> 2780069 bytes test/behavior/align.zig | 3 +- test/behavior/field_parent_ptr.zig | 1966 ++++++++++++++++- test/behavior/struct.zig | 12 +- test/behavior/tuple.zig | 4 +- test/behavior/vector.zig | 4 + test/cases/compile_errors/fieldParentPtr-bad_field_name.zig | 4 +- test/cases/compile_errors/fieldParentPtr-comptime_field_ptr_not_based_on_struct.zig | 4 +- test/cases/compile_errors/fieldParentPtr-comptime_wrong_field_index.zig | 4 +- test/cases/compile_errors/fieldParentPtr-field_pointer_is_not_pointer.zig | 6 +- test/cases/compile_errors/fieldParentPtr-non_pointer.zig | 10 + test/cases/compile_errors/fieldParentPtr-non_struct.zig | 10 - test/cases/compile_errors/fieldParentPtr_on_comptime_field.zig | 4 +- test/cases/compile_errors/increase_pointer_alignment_in_ptrCast.zig | 2 +- test/cases/compile_errors/invalid_bit_pointer.zig | 13 + test/cases/compile_errors/nested_ptr_cast_bad_operand.zig | 2 +- test/cases/compile_errors/ptrCast_discards_const_qualifier.zig | 2 +- test/standalone/cmakedefine/build.zig | 2 +- test/tests.zig | 17 +- tools/lldb_pretty_printers.py | 8 +- 105 files changed, 7223 insertions(+), 5165 deletions(-)