| ... | ... | @@ -12,11 +12,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 12 | 12 | , &[_][]const u8{ |
| 13 | 13 | \\pub export fn foo(arg_x: c_ulong) c_ulong { |
| 14 | 14 | \\ var x = arg_x; |
| 15 | | \\ _ = x; |
| 16 | 15 | \\ const union_unnamed_1 = extern union { |
| 17 | 16 | \\ _x: c_ulong, |
| 18 | 17 | \\ }; |
| 19 | | \\ _ = union_unnamed_1; |
| 20 | 18 | \\ return (union_unnamed_1{ |
| 21 | 19 | \\ ._x = x, |
| 22 | 20 | \\ })._x; |
| ... | ... | @@ -75,7 +73,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 75 | 73 | \\pub extern fn bar(...) c_int; |
| 76 | 74 | \\pub export fn foo() void { |
| 77 | 75 | \\ var a: c_int = undefined; |
| 78 | | \\ _ = a; |
| 79 | 76 | \\ if (a != 0) a = 2 else _ = bar(); |
| 80 | 77 | \\} |
| 81 | 78 | }); |
| ... | ... | @@ -128,7 +125,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 128 | 125 | \\ B: c_int, |
| 129 | 126 | \\ C: c_int, |
| 130 | 127 | \\ }; |
| 131 | | \\ _ = struct_Foo; |
| 132 | 128 | \\ var a: struct_Foo = struct_Foo{ |
| 133 | 129 | \\ .A = @as(c_int, 0), |
| 134 | 130 | \\ .B = 0, |
| ... | ... | @@ -141,7 +137,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 141 | 137 | \\ B: c_int, |
| 142 | 138 | \\ C: c_int, |
| 143 | 139 | \\ }; |
| 144 | | \\ _ = struct_Foo_1; |
| 145 | 140 | \\ var a_2: struct_Foo_1 = struct_Foo_1{ |
| 146 | 141 | \\ .A = @as(c_int, 0), |
| 147 | 142 | \\ .B = 0, |
| ... | ... | @@ -178,7 +173,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 178 | 173 | \\ }; |
| 179 | 174 | \\ _ = union_unnamed_1; |
| 180 | 175 | \\ const Foo = union_unnamed_1; |
| 181 | | \\ _ = Foo; |
| 182 | 176 | \\ var a: Foo = Foo{ |
| 183 | 177 | \\ .A = @as(c_int, 0), |
| 184 | 178 | \\ }; |
| ... | ... | @@ -191,7 +185,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 191 | 185 | \\ }; |
| 192 | 186 | \\ _ = union_unnamed_2; |
| 193 | 187 | \\ const Foo_1 = union_unnamed_2; |
| 194 | | \\ _ = Foo_1; |
| 195 | 188 | \\ var a_2: Foo_1 = Foo_1{ |
| 196 | 189 | \\ .A = @as(c_int, 0), |
| 197 | 190 | \\ }; |
| ... | ... | @@ -205,7 +198,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 205 | 198 | \\#define MEM_PHYSICAL_TO_K0(x) (void*)((uint32_t)(x) + SYS_BASE_CACHED) |
| 206 | 199 | , &[_][]const u8{ |
| 207 | 200 | \\pub inline fn MEM_PHYSICAL_TO_K0(x: anytype) ?*c_void { |
| 208 | | \\ _ = x; |
| 209 | 201 | \\ return @import("std").zig.c_translation.cast(?*c_void, @import("std").zig.c_translation.cast(u32, x) + SYS_BASE_CACHED); |
| 210 | 202 | \\} |
| 211 | 203 | }); |
| ... | ... | @@ -247,7 +239,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 247 | 239 | \\pub const VALUE = ((((@as(c_int, 1) + (@as(c_int, 2) * @as(c_int, 3))) + (@as(c_int, 4) * @as(c_int, 5))) + @as(c_int, 6)) << @as(c_int, 7)) | @boolToInt(@as(c_int, 8) == @as(c_int, 9)); |
| 248 | 240 | , |
| 249 | 241 | \\pub inline fn _AL_READ3BYTES(p: anytype) @TypeOf((@import("std").zig.c_translation.cast([*c]u8, p).* | ((@import("std").zig.c_translation.cast([*c]u8, p) + @as(c_int, 1)).* << @as(c_int, 8))) | ((@import("std").zig.c_translation.cast([*c]u8, p) + @as(c_int, 2)).* << @as(c_int, 16))) { |
| 250 | | \\ _ = p; |
| 251 | 242 | \\ return (@import("std").zig.c_translation.cast([*c]u8, p).* | ((@import("std").zig.c_translation.cast([*c]u8, p) + @as(c_int, 1)).* << @as(c_int, 8))) | ((@import("std").zig.c_translation.cast([*c]u8, p) + @as(c_int, 2)).* << @as(c_int, 16)); |
| 252 | 243 | \\} |
| 253 | 244 | }); |
| ... | ... | @@ -328,7 +319,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 328 | 319 | \\pub const Color = struct_Color; |
| 329 | 320 | , |
| 330 | 321 | \\pub inline fn CLITERAL(type_1: anytype) @TypeOf(type_1) { |
| 331 | | \\ _ = type_1; |
| 332 | 322 | \\ return type_1; |
| 333 | 323 | \\} |
| 334 | 324 | , |
| ... | ... | @@ -346,7 +336,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 346 | 336 | \\}; |
| 347 | 337 | , |
| 348 | 338 | \\pub inline fn A(_x: anytype) MyCStruct { |
| 349 | | \\ _ = _x; |
| 350 | 339 | \\ return @import("std").mem.zeroInit(MyCStruct, .{ |
| 351 | 340 | \\ .x = _x, |
| 352 | 341 | \\ }); |
| ... | ... | @@ -377,7 +366,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 377 | 366 | \\#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) |
| 378 | 367 | , &[_][]const u8{ |
| 379 | 368 | \\pub inline fn __ferror_unlocked_body(_fp: anytype) @TypeOf((_fp.*._flags & _IO_ERR_SEEN) != @as(c_int, 0)) { |
| 380 | | \\ _ = _fp; |
| 381 | 369 | \\ return (_fp.*._flags & _IO_ERR_SEEN) != @as(c_int, 0); |
| 382 | 370 | \\} |
| 383 | 371 | }); |
| ... | ... | @@ -387,7 +375,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 387 | 375 | \\#define BAR 1 && 2 > 4 |
| 388 | 376 | , &[_][]const u8{ |
| 389 | 377 | \\pub inline fn FOO(x: anytype) @TypeOf(@boolToInt(x >= @as(c_int, 0)) + @boolToInt(x >= @as(c_int, 0))) { |
| 390 | | \\ _ = x; |
| 391 | 378 | \\ return @boolToInt(x >= @as(c_int, 0)) + @boolToInt(x >= @as(c_int, 0)); |
| 392 | 379 | \\} |
| 393 | 380 | , |
| ... | ... | @@ -450,7 +437,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 450 | 437 | \\}; |
| 451 | 438 | , |
| 452 | 439 | \\pub inline fn bar(x: anytype) @TypeOf(baz(@as(c_int, 1), @as(c_int, 2))) { |
| 453 | | \\ _ = x; |
| 454 | 440 | \\ return blk: { |
| 455 | 441 | \\ _ = &x; |
| 456 | 442 | \\ _ = @as(c_int, 3); |
| ... | ... | @@ -580,7 +566,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 580 | 566 | \\}; |
| 581 | 567 | \\pub export fn foo(arg_x: [*c]outer) void { |
| 582 | 568 | \\ var x = arg_x; |
| 583 | | \\ _ = x; |
| 584 | 569 | \\ x.*.unnamed_0.unnamed_0.y = @bitCast(c_int, @as(c_uint, x.*.unnamed_0.x)); |
| 585 | 570 | \\} |
| 586 | 571 | }); |
| ... | ... | @@ -667,7 +652,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 667 | 652 | \\pub const struct_opaque_2 = opaque {}; |
| 668 | 653 | \\pub export fn function(arg_opaque_1: ?*struct_opaque) void { |
| 669 | 654 | \\ var opaque_1 = arg_opaque_1; |
| 670 | | \\ _ = opaque_1; |
| 671 | 655 | \\ var cast: ?*struct_opaque_2 = @ptrCast(?*struct_opaque_2, opaque_1); |
| 672 | 656 | \\ _ = cast; |
| 673 | 657 | \\} |
| ... | ... | @@ -763,7 +747,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 763 | 747 | , &[_][]const u8{ |
| 764 | 748 | \\pub export fn foo() void { |
| 765 | 749 | \\ var a: c_int = undefined; |
| 766 | | \\ _ = a; |
| 767 | 750 | \\ _ = @as(c_int, 1); |
| 768 | 751 | \\ _ = "hey"; |
| 769 | 752 | \\ _ = @as(c_int, 1) + @as(c_int, 1); |
| ... | ... | @@ -849,7 +832,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 849 | 832 | \\pub extern fn foo() void; |
| 850 | 833 | \\pub export fn bar() void { |
| 851 | 834 | \\ var func_ptr: ?*c_void = @ptrCast(?*c_void, foo); |
| 852 | | \\ _ = func_ptr; |
| 853 | 835 | \\ var typed_func_ptr: ?fn () callconv(.C) void = @intToPtr(?fn () callconv(.C) void, @intCast(c_ulong, @ptrToInt(func_ptr))); |
| 854 | 836 | \\ _ = typed_func_ptr; |
| 855 | 837 | \\} |
| ... | ... | @@ -881,11 +863,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 881 | 863 | , &[_][]const u8{ |
| 882 | 864 | \\pub export fn s() c_int { |
| 883 | 865 | \\ var a: c_int = undefined; |
| 884 | | \\ _ = a; |
| 885 | 866 | \\ var b: c_int = undefined; |
| 886 | | \\ _ = b; |
| 887 | 867 | \\ var c: c_int = undefined; |
| 888 | | \\ _ = c; |
| 889 | 868 | \\ c = a + b; |
| 890 | 869 | \\ c = a - b; |
| 891 | 870 | \\ c = a * b; |
| ... | ... | @@ -895,11 +874,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 895 | 874 | \\} |
| 896 | 875 | \\pub export fn u() c_uint { |
| 897 | 876 | \\ var a: c_uint = undefined; |
| 898 | | \\ _ = a; |
| 899 | 877 | \\ var b: c_uint = undefined; |
| 900 | | \\ _ = b; |
| 901 | 878 | \\ var c: c_uint = undefined; |
| 902 | | \\ _ = c; |
| 903 | 879 | \\ c = a +% b; |
| 904 | 880 | \\ c = a -% b; |
| 905 | 881 | \\ c = a *% b; |
| ... | ... | @@ -1263,7 +1239,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1263 | 1239 | \\pub export fn foo() void { |
| 1264 | 1240 | \\ var a: c_int = undefined; |
| 1265 | 1241 | \\ _ = a; |
| 1266 | | \\ _ = a; |
| 1267 | 1242 | \\} |
| 1268 | 1243 | }); |
| 1269 | 1244 | |
| ... | ... | @@ -1275,7 +1250,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1275 | 1250 | , &[_][]const u8{ |
| 1276 | 1251 | \\pub export fn foo() ?*c_void { |
| 1277 | 1252 | \\ var x: [*c]c_ushort = undefined; |
| 1278 | | \\ _ = x; |
| 1279 | 1253 | \\ return @ptrCast(?*c_void, x); |
| 1280 | 1254 | \\} |
| 1281 | 1255 | }); |
| ... | ... | @@ -1332,7 +1306,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1332 | 1306 | \\pub export fn foo() void { |
| 1333 | 1307 | \\ { |
| 1334 | 1308 | \\ var i: c_int = 0; |
| 1335 | | \\ _ = i; |
| 1336 | 1309 | \\ while (i != 0) : (i += 1) {} |
| 1337 | 1310 | \\ } |
| 1338 | 1311 | \\} |
| ... | ... | @@ -1356,7 +1329,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1356 | 1329 | , &[_][]const u8{ |
| 1357 | 1330 | \\pub export fn foo() void { |
| 1358 | 1331 | \\ var i: c_int = undefined; |
| 1359 | | \\ _ = i; |
| 1360 | 1332 | \\ { |
| 1361 | 1333 | \\ i = 3; |
| 1362 | 1334 | \\ while (i != 0) : (i -= 1) {} |
| ... | ... | @@ -1400,7 +1372,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1400 | 1372 | , &[_][]const u8{ |
| 1401 | 1373 | \\pub export fn ptrcast() [*c]f32 { |
| 1402 | 1374 | \\ var a: [*c]c_int = undefined; |
| 1403 | | \\ _ = a; |
| 1404 | 1375 | \\ return @ptrCast([*c]f32, @alignCast(@import("std").meta.alignment(f32), a)); |
| 1405 | 1376 | \\} |
| 1406 | 1377 | }); |
| ... | ... | @@ -1424,7 +1395,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1424 | 1395 | , &[_][]const u8{ |
| 1425 | 1396 | \\pub export fn test_ptr_cast() void { |
| 1426 | 1397 | \\ var p: ?*c_void = undefined; |
| 1427 | | \\ _ = p; |
| 1428 | 1398 | \\ { |
| 1429 | 1399 | \\ var to_char: [*c]u8 = @ptrCast([*c]u8, @alignCast(@import("std").meta.alignment(u8), p)); |
| 1430 | 1400 | \\ _ = to_char; |
| ... | ... | @@ -1461,11 +1431,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1461 | 1431 | , &[_][]const u8{ |
| 1462 | 1432 | \\pub export fn while_none_bool() c_int { |
| 1463 | 1433 | \\ var a: c_int = undefined; |
| 1464 | | \\ _ = a; |
| 1465 | 1434 | \\ var b: f32 = undefined; |
| 1466 | | \\ _ = b; |
| 1467 | 1435 | \\ var c: ?*c_void = undefined; |
| 1468 | | \\ _ = c; |
| 1469 | 1436 | \\ while (a != 0) return 0; |
| 1470 | 1437 | \\ while (b != 0) return 1; |
| 1471 | 1438 | \\ while (c != null) return 2; |
| ... | ... | @@ -1486,11 +1453,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1486 | 1453 | , &[_][]const u8{ |
| 1487 | 1454 | \\pub export fn for_none_bool() c_int { |
| 1488 | 1455 | \\ var a: c_int = undefined; |
| 1489 | | \\ _ = a; |
| 1490 | 1456 | \\ var b: f32 = undefined; |
| 1491 | | \\ _ = b; |
| 1492 | 1457 | \\ var c: ?*c_void = undefined; |
| 1493 | | \\ _ = c; |
| 1494 | 1458 | \\ while (a != 0) return 0; |
| 1495 | 1459 | \\ while (b != 0) return 1; |
| 1496 | 1460 | \\ while (c != null) return 2; |
| ... | ... | @@ -1527,7 +1491,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1527 | 1491 | , &[_][]const u8{ |
| 1528 | 1492 | \\pub export fn foo() void { |
| 1529 | 1493 | \\ var x: [*c]c_int = undefined; |
| 1530 | | \\ _ = x; |
| 1531 | 1494 | \\ x.* = 1; |
| 1532 | 1495 | \\} |
| 1533 | 1496 | }); |
| ... | ... | @@ -1541,9 +1504,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1541 | 1504 | , &[_][]const u8{ |
| 1542 | 1505 | \\pub export fn foo() c_int { |
| 1543 | 1506 | \\ var x: c_int = 1234; |
| 1544 | | \\ _ = x; |
| 1545 | 1507 | \\ var ptr: [*c]c_int = &x; |
| 1546 | | \\ _ = ptr; |
| 1547 | 1508 | \\ return ptr.*; |
| 1548 | 1509 | \\} |
| 1549 | 1510 | }); |
| ... | ... | @@ -1556,7 +1517,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1556 | 1517 | , &[_][]const u8{ |
| 1557 | 1518 | \\pub export fn foo() c_int { |
| 1558 | 1519 | \\ var x: c_int = undefined; |
| 1559 | | \\ _ = x; |
| 1560 | 1520 | \\ return ~x; |
| 1561 | 1521 | \\} |
| 1562 | 1522 | }); |
| ... | ... | @@ -1574,11 +1534,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1574 | 1534 | , &[_][]const u8{ |
| 1575 | 1535 | \\pub export fn foo() c_int { |
| 1576 | 1536 | \\ var a: c_int = undefined; |
| 1577 | | \\ _ = a; |
| 1578 | 1537 | \\ var b: f32 = undefined; |
| 1579 | | \\ _ = b; |
| 1580 | 1538 | \\ var c: ?*c_void = undefined; |
| 1581 | | \\ _ = c; |
| 1582 | 1539 | \\ return @boolToInt(!(a == @as(c_int, 0))); |
| 1583 | 1540 | \\ return @boolToInt(!(a != 0)); |
| 1584 | 1541 | \\ return @boolToInt(!(b != 0)); |
| ... | ... | @@ -1891,13 +1848,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1891 | 1848 | \\pub extern var c: c_int; |
| 1892 | 1849 | , |
| 1893 | 1850 | \\pub inline fn BASIC(c_1: anytype) @TypeOf(c_1 * @as(c_int, 2)) { |
| 1894 | | \\ _ = c_1; |
| 1895 | 1851 | \\ return c_1 * @as(c_int, 2); |
| 1896 | 1852 | \\} |
| 1897 | 1853 | , |
| 1898 | 1854 | \\pub inline fn FOO(L: anytype, b: anytype) @TypeOf(L + b) { |
| 1899 | | \\ _ = L; |
| 1900 | | \\ _ = b; |
| 1901 | 1855 | \\ return L + b; |
| 1902 | 1856 | \\} |
| 1903 | 1857 | , |
| ... | ... | @@ -1951,9 +1905,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1951 | 1905 | \\ var c_1 = arg_c_1; |
| 1952 | 1906 | \\ _ = c_1; |
| 1953 | 1907 | \\ var a_2: c_int = undefined; |
| 1954 | | \\ _ = a_2; |
| 1955 | 1908 | \\ var b_3: u8 = 123; |
| 1956 | | \\ _ = b_3; |
| 1957 | 1909 | \\ b_3 = @bitCast(u8, @truncate(i8, a_2)); |
| 1958 | 1910 | \\ { |
| 1959 | 1911 | \\ var d: c_int = 5; |
| ... | ... | @@ -1994,9 +1946,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1994 | 1946 | , &[_][]const u8{ |
| 1995 | 1947 | \\pub export fn foo() void { |
| 1996 | 1948 | \\ var a: c_int = undefined; |
| 1997 | | \\ _ = a; |
| 1998 | 1949 | \\ var b: c_int = undefined; |
| 1999 | | \\ _ = b; |
| 2000 | 1950 | \\ a = blk: { |
| 2001 | 1951 | \\ const tmp = @as(c_int, 2); |
| 2002 | 1952 | \\ b = tmp; |
| ... | ... | @@ -2026,13 +1976,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2026 | 1976 | , &[_][]const u8{ |
| 2027 | 1977 | \\pub export fn foo() c_int { |
| 2028 | 1978 | \\ var a: c_int = 5; |
| 2029 | | \\ _ = a; |
| 2030 | 1979 | \\ while (true) { |
| 2031 | 1980 | \\ a = 2; |
| 2032 | 1981 | \\ } |
| 2033 | 1982 | \\ while (true) { |
| 2034 | 1983 | \\ var a_1: c_int = 4; |
| 2035 | | \\ _ = a_1; |
| 2036 | 1984 | \\ a_1 = 9; |
| 2037 | 1985 | \\ return blk: { |
| 2038 | 1986 | \\ _ = @as(c_int, 6); |
| ... | ... | @@ -2041,7 +1989,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2041 | 1989 | \\ } |
| 2042 | 1990 | \\ while (true) { |
| 2043 | 1991 | \\ var a_1: c_int = 2; |
| 2044 | | \\ _ = a_1; |
| 2045 | 1992 | \\ a_1 = 12; |
| 2046 | 1993 | \\ } |
| 2047 | 1994 | \\ while (true) { |
| ... | ... | @@ -2063,12 +2010,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2063 | 2010 | \\pub export fn foo() void { |
| 2064 | 2011 | \\ { |
| 2065 | 2012 | \\ var i: c_int = 2; |
| 2066 | | \\ _ = i; |
| 2067 | 2013 | \\ var b: c_int = 4; |
| 2068 | 2014 | \\ _ = b; |
| 2069 | 2015 | \\ while ((i + @as(c_int, 2)) != 0) : (i = 2) { |
| 2070 | 2016 | \\ var a: c_int = 2; |
| 2071 | | \\ _ = a; |
| 2072 | 2017 | \\ _ = blk: { |
| 2073 | 2018 | \\ _ = blk_1: { |
| 2074 | 2019 | \\ a = 6; |
| ... | ... | @@ -2152,9 +2097,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2152 | 2097 | , &[_][]const u8{ |
| 2153 | 2098 | \\pub export fn switch_fn(arg_i: c_int) void { |
| 2154 | 2099 | \\ var i = arg_i; |
| 2155 | | \\ _ = i; |
| 2156 | 2100 | \\ var res: c_int = 0; |
| 2157 | | \\ _ = res; |
| 2158 | 2101 | \\ while (true) { |
| 2159 | 2102 | \\ switch (i) { |
| 2160 | 2103 | \\ @as(c_int, 0) => { |
| ... | ... | @@ -2243,9 +2186,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2243 | 2186 | , &[_][]const u8{ |
| 2244 | 2187 | \\pub export fn max(arg_a: c_int) void { |
| 2245 | 2188 | \\ var a = arg_a; |
| 2246 | | \\ _ = a; |
| 2247 | 2189 | \\ var tmp: c_int = undefined; |
| 2248 | | \\ _ = tmp; |
| 2249 | 2190 | \\ tmp = a; |
| 2250 | 2191 | \\ a = tmp; |
| 2251 | 2192 | \\} |
| ... | ... | @@ -2259,11 +2200,8 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2259 | 2200 | , &[_][]const u8{ |
| 2260 | 2201 | \\pub export fn max(arg_a: c_int) void { |
| 2261 | 2202 | \\ var a = arg_a; |
| 2262 | | \\ _ = a; |
| 2263 | 2203 | \\ var b: c_int = undefined; |
| 2264 | | \\ _ = b; |
| 2265 | 2204 | \\ var c: c_int = undefined; |
| 2266 | | \\ _ = c; |
| 2267 | 2205 | \\ c = blk: { |
| 2268 | 2206 | \\ const tmp = a; |
| 2269 | 2207 | \\ b = tmp; |
| ... | ... | @@ -2292,7 +2230,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2292 | 2230 | , &[_][]const u8{ |
| 2293 | 2231 | \\pub export fn float_to_int(arg_a: f32) c_int { |
| 2294 | 2232 | \\ var a = arg_a; |
| 2295 | | \\ _ = a; |
| 2296 | 2233 | \\ return @floatToInt(c_int, a); |
| 2297 | 2234 | \\} |
| 2298 | 2235 | }); |
| ... | ... | @@ -2356,13 +2293,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2356 | 2293 | , &[_][]const u8{ |
| 2357 | 2294 | \\pub export fn foo() void { |
| 2358 | 2295 | \\ var a: c_int = 2; |
| 2359 | | \\ _ = a; |
| 2360 | 2296 | \\ while (true) { |
| 2361 | 2297 | \\ a = a - @as(c_int, 1); |
| 2362 | 2298 | \\ if (!(a != 0)) break; |
| 2363 | 2299 | \\ } |
| 2364 | 2300 | \\ var b: c_int = 2; |
| 2365 | | \\ _ = b; |
| 2366 | 2301 | \\ while (true) { |
| 2367 | 2302 | \\ b = b - @as(c_int, 1); |
| 2368 | 2303 | \\ if (!(b != 0)) break; |
| ... | ... | @@ -2403,37 +2338,21 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2403 | 2338 | \\pub const SomeTypedef = c_int; |
| 2404 | 2339 | \\pub export fn and_or_non_bool(arg_a: c_int, arg_b: f32, arg_c: ?*c_void) c_int { |
| 2405 | 2340 | \\ var a = arg_a; |
| 2406 | | \\ _ = a; |
| 2407 | 2341 | \\ var b = arg_b; |
| 2408 | | \\ _ = b; |
| 2409 | 2342 | \\ var c = arg_c; |
| 2410 | | \\ _ = c; |
| 2411 | 2343 | \\ var d: enum_Foo = @bitCast(c_uint, FooA); |
| 2412 | | \\ _ = d; |
| 2413 | 2344 | \\ var e: c_int = @boolToInt((a != 0) and (b != 0)); |
| 2414 | | \\ _ = e; |
| 2415 | 2345 | \\ var f: c_int = @boolToInt((b != 0) and (c != null)); |
| 2416 | | \\ _ = f; |
| 2417 | 2346 | \\ var g: c_int = @boolToInt((a != 0) and (c != null)); |
| 2418 | | \\ _ = g; |
| 2419 | 2347 | \\ var h: c_int = @boolToInt((a != 0) or (b != 0)); |
| 2420 | | \\ _ = h; |
| 2421 | 2348 | \\ var i: c_int = @boolToInt((b != 0) or (c != null)); |
| 2422 | | \\ _ = i; |
| 2423 | 2349 | \\ var j: c_int = @boolToInt((a != 0) or (c != null)); |
| 2424 | | \\ _ = j; |
| 2425 | 2350 | \\ var k: c_int = @boolToInt((a != 0) or (@bitCast(c_int, d) != 0)); |
| 2426 | | \\ _ = k; |
| 2427 | 2351 | \\ var l: c_int = @boolToInt((@bitCast(c_int, d) != 0) and (b != 0)); |
| 2428 | | \\ _ = l; |
| 2429 | 2352 | \\ var m: c_int = @boolToInt((c != null) or (d != 0)); |
| 2430 | | \\ _ = m; |
| 2431 | 2353 | \\ var td: SomeTypedef = 44; |
| 2432 | | \\ _ = td; |
| 2433 | 2354 | \\ var o: c_int = @boolToInt((td != 0) or (b != 0)); |
| 2434 | | \\ _ = o; |
| 2435 | 2355 | \\ var p: c_int = @boolToInt((c != null) and (td != 0)); |
| 2436 | | \\ _ = p; |
| 2437 | 2356 | \\ return (((((((((e + f) + g) + h) + i) + j) + k) + l) + m) + o) + p; |
| 2438 | 2357 | \\} |
| 2439 | 2358 | , |
| ... | ... | @@ -2473,9 +2392,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2473 | 2392 | , &[_][]const u8{ |
| 2474 | 2393 | \\pub export fn max(arg_a: c_int, arg_b: c_int) c_int { |
| 2475 | 2394 | \\ var a = arg_a; |
| 2476 | | \\ _ = a; |
| 2477 | 2395 | \\ var b = arg_b; |
| 2478 | | \\ _ = b; |
| 2479 | 2396 | \\ return (a & b) ^ (a | b); |
| 2480 | 2397 | \\} |
| 2481 | 2398 | }); |
| ... | ... | @@ -2494,23 +2411,14 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2494 | 2411 | , &[_][]const u8{ |
| 2495 | 2412 | \\pub export fn test_comparisons(arg_a: c_int, arg_b: c_int) c_int { |
| 2496 | 2413 | \\ var a = arg_a; |
| 2497 | | \\ _ = a; |
| 2498 | 2414 | \\ var b = arg_b; |
| 2499 | | \\ _ = b; |
| 2500 | 2415 | \\ var c: c_int = @boolToInt(a < b); |
| 2501 | | \\ _ = c; |
| 2502 | 2416 | \\ var d: c_int = @boolToInt(a > b); |
| 2503 | | \\ _ = d; |
| 2504 | 2417 | \\ var e: c_int = @boolToInt(a <= b); |
| 2505 | | \\ _ = e; |
| 2506 | 2418 | \\ var f: c_int = @boolToInt(a >= b); |
| 2507 | | \\ _ = f; |
| 2508 | 2419 | \\ var g: c_int = @boolToInt(c < d); |
| 2509 | | \\ _ = g; |
| 2510 | 2420 | \\ var h: c_int = @boolToInt(e < f); |
| 2511 | | \\ _ = h; |
| 2512 | 2421 | \\ var i: c_int = @boolToInt(g < h); |
| 2513 | | \\ _ = i; |
| 2514 | 2422 | \\ return i; |
| 2515 | 2423 | \\} |
| 2516 | 2424 | }); |
| ... | ... | @@ -2526,9 +2434,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2526 | 2434 | , &[_][]const u8{ |
| 2527 | 2435 | \\pub export fn max(arg_a: c_int, arg_b: c_int) c_int { |
| 2528 | 2436 | \\ var a = arg_a; |
| 2529 | | \\ _ = a; |
| 2530 | 2437 | \\ var b = arg_b; |
| 2531 | | \\ _ = b; |
| 2532 | 2438 | \\ if (a == b) return a; |
| 2533 | 2439 | \\ if (a != b) return b; |
| 2534 | 2440 | \\ return a; |
| ... | ... | @@ -2545,7 +2451,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2545 | 2451 | \\pub const yes = [*c]u8; |
| 2546 | 2452 | \\pub export fn foo() void { |
| 2547 | 2453 | \\ var a: yes = undefined; |
| 2548 | | \\ _ = a; |
| 2549 | 2454 | \\ if (a != null) { |
| 2550 | 2455 | \\ _ = @as(c_int, 2); |
| 2551 | 2456 | \\ } |
| ... | ... | @@ -2565,7 +2470,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2565 | 2470 | \\ return blk: { |
| 2566 | 2471 | \\ var a: c_int = 1; |
| 2567 | 2472 | \\ _ = a; |
| 2568 | | \\ _ = a; |
| 2569 | 2473 | \\ break :blk a; |
| 2570 | 2474 | \\ }; |
| 2571 | 2475 | \\} |
| ... | ... | @@ -2591,7 +2495,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2591 | 2495 | \\pub export var b: f32 = 2.0; |
| 2592 | 2496 | \\pub export fn foo() void { |
| 2593 | 2497 | \\ var c: [*c]struct_Foo = undefined; |
| 2594 | | \\ _ = c; |
| 2595 | 2498 | \\ _ = a.b; |
| 2596 | 2499 | \\ _ = c.*.b; |
| 2597 | 2500 | \\} |
| ... | ... | @@ -2611,7 +2514,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2611 | 2514 | \\pub export var array: [100]c_int = [1]c_int{0} ** 100; |
| 2612 | 2515 | \\pub export fn foo(arg_index: c_int) c_int { |
| 2613 | 2516 | \\ var index = arg_index; |
| 2614 | | \\ _ = index; |
| 2615 | 2517 | \\ return array[@intCast(c_uint, index)]; |
| 2616 | 2518 | \\} |
| 2617 | 2519 | , |
| ... | ... | @@ -2626,9 +2528,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2626 | 2528 | , &[_][]const u8{ |
| 2627 | 2529 | \\pub export fn foo() void { |
| 2628 | 2530 | \\ var a: [10]c_int = undefined; |
| 2629 | | \\ _ = a; |
| 2630 | 2531 | \\ var i: c_int = 0; |
| 2631 | | \\ _ = i; |
| 2632 | 2532 | \\ a[@intCast(c_uint, i)] = 0; |
| 2633 | 2533 | \\} |
| 2634 | 2534 | }); |
| ... | ... | @@ -2641,9 +2541,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2641 | 2541 | , &[_][]const u8{ |
| 2642 | 2542 | \\pub export fn foo() void { |
| 2643 | 2543 | \\ var a: [10]c_longlong = undefined; |
| 2644 | | \\ _ = a; |
| 2645 | 2544 | \\ var i: c_longlong = 0; |
| 2646 | | \\ _ = i; |
| 2647 | 2545 | \\ a[@intCast(usize, i)] = 0; |
| 2648 | 2546 | \\} |
| 2649 | 2547 | }); |
| ... | ... | @@ -2656,9 +2554,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2656 | 2554 | , &[_][]const u8{ |
| 2657 | 2555 | \\pub export fn foo() void { |
| 2658 | 2556 | \\ var a: [10]c_uint = undefined; |
| 2659 | | \\ _ = a; |
| 2660 | 2557 | \\ var i: c_uint = 0; |
| 2661 | | \\ _ = i; |
| 2662 | 2558 | \\ a[i] = 0; |
| 2663 | 2559 | \\} |
| 2664 | 2560 | }); |
| ... | ... | @@ -2667,7 +2563,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2667 | 2563 | \\#define CALL(arg) bar(arg) |
| 2668 | 2564 | , &[_][]const u8{ |
| 2669 | 2565 | \\pub inline fn CALL(arg: anytype) @TypeOf(bar(arg)) { |
| 2670 | | \\ _ = arg; |
| 2671 | 2566 | \\ return bar(arg); |
| 2672 | 2567 | \\} |
| 2673 | 2568 | }); |
| ... | ... | @@ -2692,9 +2587,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2692 | 2587 | , &[_][]const u8{ |
| 2693 | 2588 | \\pub export fn max(arg_a: c_int, arg_b: c_int) c_int { |
| 2694 | 2589 | \\ var a = arg_a; |
| 2695 | | \\ _ = a; |
| 2696 | 2590 | \\ var b = arg_b; |
| 2697 | | \\ _ = b; |
| 2698 | 2591 | \\ if ((a < b) or (a == b)) return b; |
| 2699 | 2592 | \\ if ((a >= b) and (a == b)) return a; |
| 2700 | 2593 | \\ return a; |
| ... | ... | @@ -2716,9 +2609,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2716 | 2609 | , &[_][]const u8{ |
| 2717 | 2610 | \\pub export fn max(arg_a: c_int, arg_b: c_int) c_int { |
| 2718 | 2611 | \\ var a = arg_a; |
| 2719 | | \\ _ = a; |
| 2720 | 2612 | \\ var b = arg_b; |
| 2721 | | \\ _ = b; |
| 2722 | 2613 | \\ if (a < b) return b; |
| 2723 | 2614 | \\ if (a < b) return b else return a; |
| 2724 | 2615 | \\ if (a < b) {} else {} |
| ... | ... | @@ -2769,13 +2660,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2769 | 2660 | \\; |
| 2770 | 2661 | \\pub export fn if_none_bool(arg_a: c_int, arg_b: f32, arg_c: ?*c_void, arg_d: enum_SomeEnum) c_int { |
| 2771 | 2662 | \\ var a = arg_a; |
| 2772 | | \\ _ = a; |
| 2773 | 2663 | \\ var b = arg_b; |
| 2774 | | \\ _ = b; |
| 2775 | 2664 | \\ var c = arg_c; |
| 2776 | | \\ _ = c; |
| 2777 | 2665 | \\ var d = arg_d; |
| 2778 | | \\ _ = d; |
| 2779 | 2666 | \\ if (a != 0) return 0; |
| 2780 | 2667 | \\ if (b != 0) return 1; |
| 2781 | 2668 | \\ if (c != null) return 2; |
| ... | ... | @@ -2803,7 +2690,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2803 | 2690 | , &[_][]const u8{ |
| 2804 | 2691 | \\pub export fn abs(arg_a: c_int) c_int { |
| 2805 | 2692 | \\ var a = arg_a; |
| 2806 | | \\ _ = a; |
| 2807 | 2693 | \\ return if (a < @as(c_int, 0)) -a else a; |
| 2808 | 2694 | \\} |
| 2809 | 2695 | }); |
| ... | ... | @@ -2824,19 +2710,16 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2824 | 2710 | , &[_][]const u8{ |
| 2825 | 2711 | \\pub export fn foo1(arg_a: c_uint) c_uint { |
| 2826 | 2712 | \\ var a = arg_a; |
| 2827 | | \\ _ = a; |
| 2828 | 2713 | \\ a +%= 1; |
| 2829 | 2714 | \\ return a; |
| 2830 | 2715 | \\} |
| 2831 | 2716 | \\pub export fn foo2(arg_a: c_int) c_int { |
| 2832 | 2717 | \\ var a = arg_a; |
| 2833 | | \\ _ = a; |
| 2834 | 2718 | \\ a += 1; |
| 2835 | 2719 | \\ return a; |
| 2836 | 2720 | \\} |
| 2837 | 2721 | \\pub export fn foo3(arg_a: [*c]c_int) [*c]c_int { |
| 2838 | 2722 | \\ var a = arg_a; |
| 2839 | | \\ _ = a; |
| 2840 | 2723 | \\ a += 1; |
| 2841 | 2724 | \\ return a; |
| 2842 | 2725 | \\} |
| ... | ... | @@ -2862,9 +2745,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2862 | 2745 | \\} |
| 2863 | 2746 | \\pub export fn bar() void { |
| 2864 | 2747 | \\ var f: ?fn () callconv(.C) void = foo; |
| 2865 | | \\ _ = f; |
| 2866 | 2748 | \\ var b: ?fn () callconv(.C) c_int = baz; |
| 2867 | | \\ _ = b; |
| 2868 | 2749 | \\ f.?(); |
| 2869 | 2750 | \\ f.?(); |
| 2870 | 2751 | \\ foo(); |
| ... | ... | @@ -2890,9 +2771,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2890 | 2771 | , &[_][]const u8{ |
| 2891 | 2772 | \\pub export fn foo() void { |
| 2892 | 2773 | \\ var i: c_int = 0; |
| 2893 | | \\ _ = i; |
| 2894 | 2774 | \\ var u: c_uint = 0; |
| 2895 | | \\ _ = u; |
| 2896 | 2775 | \\ i += 1; |
| 2897 | 2776 | \\ i -= 1; |
| 2898 | 2777 | \\ u +%= 1; |
| ... | ... | @@ -2931,9 +2810,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2931 | 2810 | , &[_][]const u8{ |
| 2932 | 2811 | \\pub export fn log2(arg_a: c_uint) c_int { |
| 2933 | 2812 | \\ var a = arg_a; |
| 2934 | | \\ _ = a; |
| 2935 | 2813 | \\ var i: c_int = 0; |
| 2936 | | \\ _ = i; |
| 2937 | 2814 | \\ while (a > @bitCast(c_uint, @as(c_int, 0))) { |
| 2938 | 2815 | \\ a >>= @intCast(@import("std").math.Log2Int(c_int), @as(c_int, 1)); |
| 2939 | 2816 | \\ } |
| ... | ... | @@ -2953,9 +2830,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2953 | 2830 | , &[_][]const u8{ |
| 2954 | 2831 | \\pub export fn log2(arg_a: u32) c_int { |
| 2955 | 2832 | \\ var a = arg_a; |
| 2956 | | \\ _ = a; |
| 2957 | 2833 | \\ var i: c_int = 0; |
| 2958 | | \\ _ = i; |
| 2959 | 2834 | \\ while (a > @bitCast(c_uint, @as(c_int, 0))) { |
| 2960 | 2835 | \\ a >>= @intCast(@import("std").math.Log2Int(c_int), @as(c_int, 1)); |
| 2961 | 2836 | \\ } |
| ... | ... | @@ -2983,9 +2858,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2983 | 2858 | , &[_][]const u8{ |
| 2984 | 2859 | \\pub export fn foo() void { |
| 2985 | 2860 | \\ var a: c_int = 0; |
| 2986 | | \\ _ = a; |
| 2987 | 2861 | \\ var b: c_uint = 0; |
| 2988 | | \\ _ = b; |
| 2989 | 2862 | \\ a += blk: { |
| 2990 | 2863 | \\ const ref = &a; |
| 2991 | 2864 | \\ ref.* += @as(c_int, 1); |
| ... | ... | @@ -3064,7 +2937,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3064 | 2937 | , &[_][]const u8{ |
| 3065 | 2938 | \\pub export fn foo() void { |
| 3066 | 2939 | \\ var a: c_uint = 0; |
| 3067 | | \\ _ = a; |
| 3068 | 2940 | \\ a +%= blk: { |
| 3069 | 2941 | \\ const ref = &a; |
| 3070 | 2942 | \\ ref.* +%= @bitCast(c_uint, @as(c_int, 1)); |
| ... | ... | @@ -3124,9 +2996,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3124 | 2996 | , &[_][]const u8{ |
| 3125 | 2997 | \\pub export fn foo() void { |
| 3126 | 2998 | \\ var i: c_int = 0; |
| 3127 | | \\ _ = i; |
| 3128 | 2999 | \\ var u: c_uint = 0; |
| 3129 | | \\ _ = u; |
| 3130 | 3000 | \\ i += 1; |
| 3131 | 3001 | \\ i -= 1; |
| 3132 | 3002 | \\ u +%= 1; |
| ... | ... | @@ -3221,7 +3091,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3221 | 3091 | \\pub fn bar() callconv(.C) void {} |
| 3222 | 3092 | \\pub export fn foo(arg_baz: ?fn () callconv(.C) [*c]c_int) void { |
| 3223 | 3093 | \\ var baz = arg_baz; |
| 3224 | | \\ _ = baz; |
| 3225 | 3094 | \\ bar(); |
| 3226 | 3095 | \\ _ = baz.?(); |
| 3227 | 3096 | \\} |
| ... | ... | @@ -3304,14 +3173,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3304 | 3173 | \\#define MAX(a, b) ((b) > (a) ? (b) : (a)) |
| 3305 | 3174 | , &[_][]const u8{ |
| 3306 | 3175 | \\pub inline fn MIN(a: anytype, b: anytype) @TypeOf(if (b < a) b else a) { |
| 3307 | | \\ _ = a; |
| 3308 | | \\ _ = b; |
| 3309 | 3176 | \\ return if (b < a) b else a; |
| 3310 | 3177 | \\} |
| 3311 | 3178 | , |
| 3312 | 3179 | \\pub inline fn MAX(a: anytype, b: anytype) @TypeOf(if (b > a) b else a) { |
| 3313 | | \\ _ = a; |
| 3314 | | \\ _ = b; |
| 3315 | 3180 | \\ return if (b > a) b else a; |
| 3316 | 3181 | \\} |
| 3317 | 3182 | }); |
| ... | ... | @@ -3323,9 +3188,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3323 | 3188 | , &[_][]const u8{ |
| 3324 | 3189 | \\pub export fn foo(arg_p: [*c]c_int, arg_x: c_int) c_int { |
| 3325 | 3190 | \\ var p = arg_p; |
| 3326 | | \\ _ = p; |
| 3327 | 3191 | \\ var x = arg_x; |
| 3328 | | \\ _ = x; |
| 3329 | 3192 | \\ return blk: { |
| 3330 | 3193 | \\ const tmp = x; |
| 3331 | 3194 | \\ (blk_1: { |
| ... | ... | @@ -3352,7 +3215,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3352 | 3215 | \\} |
| 3353 | 3216 | \\pub export fn bar(arg_x: c_long) c_ushort { |
| 3354 | 3217 | \\ var x = arg_x; |
| 3355 | | \\ _ = x; |
| 3356 | 3218 | \\ return @bitCast(c_ushort, @truncate(c_short, x)); |
| 3357 | 3219 | \\} |
| 3358 | 3220 | }); |
| ... | ... | @@ -3365,7 +3227,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3365 | 3227 | , &[_][]const u8{ |
| 3366 | 3228 | \\pub export fn foo(arg_bar_1: c_int) void { |
| 3367 | 3229 | \\ var bar_1 = arg_bar_1; |
| 3368 | | \\ _ = bar_1; |
| 3369 | 3230 | \\ bar_1 = 2; |
| 3370 | 3231 | \\} |
| 3371 | 3232 | \\pub export var bar: c_int = 4; |
| ... | ... | @@ -3379,7 +3240,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3379 | 3240 | , &[_][]const u8{ |
| 3380 | 3241 | \\pub export fn foo(arg_bar_1: c_int) void { |
| 3381 | 3242 | \\ var bar_1 = arg_bar_1; |
| 3382 | | \\ _ = bar_1; |
| 3383 | 3243 | \\ bar_1 = 2; |
| 3384 | 3244 | \\} |
| 3385 | 3245 | , |
| ... | ... | @@ -3413,12 +3273,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3413 | 3273 | \\} |
| 3414 | 3274 | \\pub export fn bar(arg_a: [*c]const c_int) void { |
| 3415 | 3275 | \\ var a = arg_a; |
| 3416 | | \\ _ = a; |
| 3417 | 3276 | \\ foo(@intToPtr([*c]c_int, @ptrToInt(a))); |
| 3418 | 3277 | \\} |
| 3419 | 3278 | \\pub export fn baz(arg_a: [*c]volatile c_int) void { |
| 3420 | 3279 | \\ var a = arg_a; |
| 3421 | | \\ _ = a; |
| 3422 | 3280 | \\ foo(@intToPtr([*c]c_int, @ptrToInt(a))); |
| 3423 | 3281 | \\} |
| 3424 | 3282 | }); |
| ... | ... | @@ -3433,13 +3291,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3433 | 3291 | , &[_][]const u8{ |
| 3434 | 3292 | \\pub export fn foo(arg_x: bool) bool { |
| 3435 | 3293 | \\ var x = arg_x; |
| 3436 | | \\ _ = x; |
| 3437 | 3294 | \\ var a: bool = @as(c_int, @boolToInt(x)) != @as(c_int, 1); |
| 3438 | | \\ _ = a; |
| 3439 | 3295 | \\ var b: bool = @as(c_int, @boolToInt(a)) != @as(c_int, 0); |
| 3440 | | \\ _ = b; |
| 3441 | 3296 | \\ var c: bool = @ptrToInt(foo) != 0; |
| 3442 | | \\ _ = c; |
| 3443 | 3297 | \\ return foo(@as(c_int, @boolToInt(c)) != @as(c_int, @boolToInt(b))); |
| 3444 | 3298 | \\} |
| 3445 | 3299 | }); |
| ... | ... | @@ -3450,9 +3304,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3450 | 3304 | \\} |
| 3451 | 3305 | , &[_][]const u8{ |
| 3452 | 3306 | \\pub export fn max(x: c_int, arg_y: c_int) c_int { |
| 3453 | | \\ _ = x; |
| 3454 | 3307 | \\ var y = arg_y; |
| 3455 | | \\ _ = y; |
| 3456 | 3308 | \\ return if (x > y) x else y; |
| 3457 | 3309 | \\} |
| 3458 | 3310 | }); |
| ... | ... | @@ -3513,7 +3365,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3513 | 3365 | \\ |
| 3514 | 3366 | , &[_][]const u8{ |
| 3515 | 3367 | \\pub inline fn DefaultScreen(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.default_screen) { |
| 3516 | | \\ _ = dpy; |
| 3517 | 3368 | \\ return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.default_screen; |
| 3518 | 3369 | \\} |
| 3519 | 3370 | }); |
| ... | ... | @@ -3733,7 +3584,6 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3733 | 3584 | \\ const foo = struct { |
| 3734 | 3585 | \\ var static: struct_FOO = @import("std").mem.zeroes(struct_FOO); |
| 3735 | 3586 | \\ }; |
| 3736 | | \\ _ = foo; |
| 3737 | 3587 | \\ return foo.static.x; |
| 3738 | 3588 | \\} |
| 3739 | 3589 | }); |
| ... | ... | @@ -3747,24 +3597,22 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3747 | 3597 | \\pub const INVALID_HANDLE_VALUE = @import("std").zig.c_translation.cast(?*c_void, @import("std").zig.c_translation.cast(LONG_PTR, -@as(c_int, 1))); |
| 3748 | 3598 | }); |
| 3749 | 3599 | |
| 3750 | | cases.add("discard local variables and function parameters", |
| 3751 | | \\#define FOO(A, B) (A) + (B) |
| 3600 | cases.add("discard unused local variables and function parameters", |
| 3601 | \\#define FOO(A, B) (A) |
| 3752 | 3602 | \\int bar(int x, int y) { |
| 3753 | 3603 | \\ return x; |
| 3754 | 3604 | \\} |
| 3755 | 3605 | , &[_][]const u8{ |
| 3756 | 3606 | \\pub export fn bar(arg_x: c_int, arg_y: c_int) c_int { |
| 3757 | 3607 | \\ var x = arg_x; |
| 3758 | | \\ _ = x; |
| 3759 | 3608 | \\ var y = arg_y; |
| 3760 | 3609 | \\ _ = y; |
| 3761 | 3610 | \\ return x; |
| 3762 | 3611 | \\} |
| 3763 | 3612 | , |
| 3764 | | \\pub inline fn FOO(A: anytype, B: anytype) @TypeOf(A + B) { |
| 3765 | | \\ _ = A; |
| 3613 | \\pub inline fn FOO(A: anytype, B: anytype) @TypeOf(A) { |
| 3766 | 3614 | \\ _ = B; |
| 3767 | | \\ return A + B; |
| 3615 | \\ return A; |
| 3768 | 3616 | \\} |
| 3769 | 3617 | }); |
| 3770 | 3618 | |