authorgravatar for me@tadeo.caTadeo Kondrak <me@tadeo.ca> 2020-04-28 07:41:49-06:00
committergravatar for me@tadeo.caTadeo Kondrak <me@tadeo.ca> 2020-04-28 08:45:52-06:00
log0cf129689eba47033bc86adf4fcd45dabe5ef04c
tree40aa138a2c1b24712af90870112cd3c0ea1fb845
parent83d2d7ab8afed6d24238dbb2696fb5bc35cdb05d
signature Commit is signed but in an unrecognized format.

Fix/add translate-c tests for previous commit


1 files changed, 24 insertions(+), 6 deletions(-)

test/translate_c.zig+24-6
......@@ -189,20 +189,20 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
189189 \\} outer;
190190 \\void foo(outer *x) { x->y = x->x; }
191191 , &[_][]const u8{
192 \\const struct_unnamed_5 = extern struct {
192 \\const struct_unnamed_3 = extern struct {
193193 \\ y: c_int,
194194 \\};
195 \\const union_unnamed_3 = extern union {
195 \\const union_unnamed_2 = extern union {
196196 \\ x: u8,
197 \\ unnamed_4: struct_unnamed_5,
197 \\ unnamed_0: struct_unnamed_3,
198198 \\};
199199 \\const struct_unnamed_1 = extern struct {
200 \\ unnamed_2: union_unnamed_3,
200 \\ unnamed_0: union_unnamed_2,
201201 \\};
202202 \\pub const outer = struct_unnamed_1;
203203 \\pub export fn foo(arg_x: [*c]outer) void {
204204 \\ var x = arg_x;
205 \\ x.*.unnamed_2.unnamed_4.y = @bitCast(c_int, @as(c_uint, x.*.unnamed_2.x));
205 \\ x.*.unnamed_0.unnamed_0.y = @bitCast(c_int, @as(c_uint, x.*.unnamed_0.x));
206206 \\}
207207 });
208208
......@@ -2922,7 +2922,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
29222922 \\};
29232923 \\pub const NAMED = struct_NAMED;
29242924 \\pub const struct_ONENAMEWITHSTRUCT = extern struct {
2925 \\ unnamed_1: struct_NAMED,
2925 \\ unnamed_0: struct_NAMED,
29262926 \\ b: c_long,
29272927 \\};
29282928 });
......@@ -2948,4 +2948,22 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
29482948 \\};
29492949 });
29502950 }
2951
2952 cases.add("unnamed fields have predictabile names",
2953 \\struct a {
2954 \\ struct {};
2955 \\};
2956 \\struct b {
2957 \\ struct {};
2958 \\};
2959 , &[_][]const u8{
2960 \\const struct_unnamed_1 = extern struct {};
2961 \\pub const struct_a = extern struct {
2962 \\ unnamed_0: struct_unnamed_1,
2963 \\};
2964 \\const struct_unnamed_2 = extern struct {};
2965 \\pub const struct_b = extern struct {
2966 \\ unnamed_0: struct_unnamed_2,
2967 \\};
2968 });
29512969}