aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorantlilja <liljaanton2001@gmail.com>2023-07-07 20:40:37 +0200
committerAndrew Kelley <andrew@ziglang.org>2023-07-12 15:35:57 -0700
commit16d17addcbc0b217b0b575928a2b2690be81a736 (patch)
tree839d24bf5558a5162b9678a36772e3235c3fb0f3 /src
parentb463e429b8e2b3d39592ff1c84bd886f46d21452 (diff)
downloadzig-16d17addcbc0b217b0b575928a2b2690be81a736.tar.gz
zig-16d17addcbc0b217b0b575928a2b2690be81a736.zip
Update translate-c to new splat syntax
Diffstat (limited to 'src')
-rw-r--r--src/translate_c.zig12
-rw-r--r--src/translate_c/ast.zig6
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;