diff options
| author | antlilja <liljaanton2001@gmail.com> | 2023-07-07 20:40:37 +0200 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-07-12 15:35:57 -0700 |
| commit | 16d17addcbc0b217b0b575928a2b2690be81a736 (patch) | |
| tree | 839d24bf5558a5162b9678a36772e3235c3fb0f3 /src | |
| parent | b463e429b8e2b3d39592ff1c84bd886f46d21452 (diff) | |
| download | zig-16d17addcbc0b217b0b575928a2b2690be81a736.tar.gz zig-16d17addcbc0b217b0b575928a2b2690be81a736.zip | |
Update translate-c to new splat syntax
Diffstat (limited to 'src')
| -rw-r--r-- | src/translate_c.zig | 12 | ||||
| -rw-r--r-- | src/translate_c/ast.zig | 6 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/translate_c.zig b/src/translate_c.zig index a56c187e6c..d3ece4e64b 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -2799,14 +2799,14 @@ fn transInitListExprVector( const element_qt = vector_ty.getElementType(); if (init_count == 0) { - const zero_node = try Tag.as.create(c.arena, .{ - .lhs = try transQualType(c, scope, element_qt, loc), - .rhs = Tag.zero_literal.init(), + const vec_node = try Tag.vector.create(c.arena, .{ + .lhs = try transCreateNodeNumber(c, num_elements, .int), + .rhs = try transQualType(c, scope, element_qt, loc), }); - return Tag.vector_zero_init.create(c.arena, .{ - .lhs = try transCreateNodeNumber(c, num_elements, .int), - .rhs = zero_node, + return Tag.as.create(c.arena, .{ + .lhs = vec_node, + .rhs = try Tag.vector_zero_init.create(c.arena, Tag.zero_literal.init()), }); } diff --git a/src/translate_c/ast.zig b/src/translate_c/ast.zig index 26ad6e31a4..8b1a9ea459 100644 --- a/src/translate_c/ast.zig +++ b/src/translate_c/ast.zig @@ -153,7 +153,7 @@ pub const Node = extern union { div_exact, /// @offsetOf(lhs, rhs) offset_of, - /// @splat(lhs, rhs) + /// @splat(operand) vector_zero_init, /// @shuffle(type, a, b, mask) shuffle, @@ -284,6 +284,7 @@ pub const Node = extern union { .int_cast, .const_cast, .volatile_cast, + .vector_zero_init, => Payload.UnOp, .add, @@ -334,7 +335,6 @@ pub const Node = extern union { .div_exact, .offset_of, .helpers_cast, - .vector_zero_init, => Payload.BinOp, .integer_literal, @@ -1918,7 +1918,7 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex { }, .vector_zero_init => { const payload = node.castTag(.vector_zero_init).?.data; - return renderBuiltinCall(c, "@splat", &.{ payload.lhs, payload.rhs }); + return renderBuiltinCall(c, "@splat", &.{payload}); }, .field_access => { const payload = node.castTag(.field_access).?.data; |
