diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2023-10-31 12:16:25 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-31 12:16:25 +0000 |
| commit | eb261f5b28a8d3cddc3dc21441f33775bb3ced95 (patch) | |
| tree | 55014f5e1ffe0c099376699945a1800cc4d16246 /src/tilde_stmt.cpp | |
| parent | bbd4c1054e18f18e934828b5160efce076027d1e (diff) | |
| parent | f5febb633c92ee1cf7b5d88f0146ffac3e2481b7 (diff) | |
Merge branch 'master' into new-sys-unix
Diffstat (limited to 'src/tilde_stmt.cpp')
| -rw-r--r-- | src/tilde_stmt.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/tilde_stmt.cpp b/src/tilde_stmt.cpp index f45dda0bc..1a7dcce4d 100644 --- a/src/tilde_stmt.cpp +++ b/src/tilde_stmt.cpp @@ -1032,22 +1032,22 @@ gb_internal void cg_build_assignment(cgProcedure *p, Array<cgAddr> const &lvals, continue; } - Type *type = cg_addr_type(lval); + Type *type = cg_addr_type(lval); if (!cg_addr_is_empty(lval)) { GB_ASSERT_MSG(are_types_identical(init.type, type), "%s = %s", type_to_string(init.type), type_to_string(type)); } if (init.kind == cgValue_Addr && !cg_addr_is_empty(lval)) { - // NOTE(bill): This is needed for certain constructs such as this: - // a, b = b, a - // NOTE(bill): This is a bodge and not necessarily a good way of doing things whatsoever - TB_CharUnits size = cast(TB_CharUnits)type_size_of(type); - TB_CharUnits align = cast(TB_CharUnits)type_align_of(type); - TB_Node *copy = tb_inst_local(p->func, size, align); - tb_inst_memcpy(p->func, copy, init.node, tb_inst_uint(p->func, TB_TYPE_INT, size), align); - // use the copy instead - init.node = copy; + // NOTE(bill): This is needed for certain constructs such as this: + // a, b = b, a + // NOTE(bill): This is a bodge and not necessarily a good way of doing things whatsoever + TB_CharUnits size = cast(TB_CharUnits)type_size_of(type); + TB_CharUnits align = cast(TB_CharUnits)type_align_of(type); + TB_Node *copy = tb_inst_local(p->func, size, align); + tb_inst_memcpy(p->func, copy, init.node, tb_inst_uint(p->func, TB_TYPE_INT, size), align); + // use the copy instead + init.node = copy; } inits[i] = init; } |