| ... | ... | @@ -1098,13 +1098,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1098 | 1098 | }); |
| 1099 | 1099 | |
| 1100 | 1100 | cases.add("comma operator", |
| 1101 | | \\int foo(char c) { |
| 1101 | \\int foo() { |
| 1102 | 1102 | \\ 2, 4; |
| 1103 | 1103 | \\ return 2, 4, 6; |
| 1104 | 1104 | \\} |
| 1105 | 1105 | , &[_][]const u8{ |
| 1106 | | \\pub export fn foo(_arg_c: u8) c_int { |
| 1107 | | \\ var c = _arg_c; |
| 1106 | \\pub export fn foo() c_int { |
| 1108 | 1107 | \\ _ = 2; |
| 1109 | 1108 | \\ _ = 4; |
| 1110 | 1109 | \\ _ = 2; |
| ... | ... | @@ -1113,15 +1112,14 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1113 | 1112 | \\} |
| 1114 | 1113 | }); |
| 1115 | 1114 | |
| 1116 | | cases.add("wors-case assign", |
| 1117 | | \\int foo(char c) { |
| 1115 | cases.add("worst-case assign", |
| 1116 | \\int foo() { |
| 1118 | 1117 | \\ int a; |
| 1119 | 1118 | \\ int b; |
| 1120 | 1119 | \\ a = b = 2; |
| 1121 | 1120 | \\} |
| 1122 | 1121 | , &[_][]const u8{ |
| 1123 | | \\pub export fn foo(_arg_c: u8) c_int { |
| 1124 | | \\ var c = _arg_c; |
| 1122 | \\pub export fn foo() c_int { |
| 1125 | 1123 | \\ var a: c_int = undefined; |
| 1126 | 1124 | \\ var b: c_int = undefined; |
| 1127 | 1125 | \\ a = blk: { |
| ... | ... | @@ -1133,7 +1131,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1133 | 1131 | }); |
| 1134 | 1132 | |
| 1135 | 1133 | cases.add("if statements", |
| 1136 | | \\int foo(char c) { |
| 1134 | \\int foo() { |
| 1137 | 1135 | \\ if (2) { |
| 1138 | 1136 | \\ int a = 2; |
| 1139 | 1137 | \\ } |
| ... | ... | @@ -1142,8 +1140,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1142 | 1140 | \\ } |
| 1143 | 1141 | \\} |
| 1144 | 1142 | , &[_][]const u8{ |
| 1145 | | \\pub export fn foo(_arg_c: u8) c_int { |
| 1146 | | \\ var c = _arg_c; |
| 1143 | \\pub export fn foo() c_int { |
| 1147 | 1144 | \\ if (2 != 0) { |
| 1148 | 1145 | \\ var a: c_int = 2; |
| 1149 | 1146 | \\ } |
| ... | ... | @@ -1266,15 +1263,15 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1266 | 1263 | \\ } |
| 1267 | 1264 | \\} |
| 1268 | 1265 | , &[_][]const u8{ |
| 1269 | | \\pub export fn switch_fn(_arg_i: c_int) c_int { |
| 1270 | | \\ var i = _arg_i; |
| 1266 | \\pub export fn switch_fn(_arg_i_1: c_int) c_int { |
| 1267 | \\ var i_1 = _arg_i_1; |
| 1271 | 1268 | \\ var res: c_int = 0; |
| 1272 | 1269 | \\ __switch: { |
| 1273 | 1270 | \\ __case_2: { |
| 1274 | 1271 | \\ __default: { |
| 1275 | 1272 | \\ __case_1: { |
| 1276 | 1273 | \\ __case_0: { |
| 1277 | | \\ switch (i) { |
| 1274 | \\ switch (i_1) { |
| 1278 | 1275 | \\ 0 => break :__case_0, |
| 1279 | 1276 | \\ 1...3 => break :__case_1, |
| 1280 | 1277 | \\ else => break :__default, |
| ... | ... | @@ -1285,7 +1282,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1285 | 1282 | \\ } |
| 1286 | 1283 | \\ res = 2; |
| 1287 | 1284 | \\ } |
| 1288 | | \\ res = (3 * i); |
| 1285 | \\ res = (3 * i_1); |
| 1289 | 1286 | \\ break :__switch; |
| 1290 | 1287 | \\ } |
| 1291 | 1288 | \\ res = 5; |
| ... | ... | @@ -1328,11 +1325,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1328 | 1325 | \\ a = tmp; |
| 1329 | 1326 | \\} |
| 1330 | 1327 | , &[_][]const u8{ |
| 1331 | | \\pub export fn max(_arg_a: c_int) c_int { |
| 1332 | | \\ var a = _arg_a; |
| 1328 | \\pub export fn max(_arg_a_1: c_int) c_int { |
| 1329 | \\ var a_1 = _arg_a_1; |
| 1333 | 1330 | \\ var tmp: c_int = undefined; |
| 1334 | | \\ tmp = a; |
| 1335 | | \\ a = tmp; |
| 1331 | \\ tmp = a_1; |
| 1332 | \\ a_1 = tmp; |
| 1336 | 1333 | \\} |
| 1337 | 1334 | }); |
| 1338 | 1335 | |
| ... | ... | @@ -1342,14 +1339,14 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1342 | 1339 | \\ c = b = a; |
| 1343 | 1340 | \\} |
| 1344 | 1341 | , &[_][]const u8{ |
| 1345 | | \\pub export fn max(_arg_a: c_int) void { |
| 1346 | | \\ var a = _arg_a; |
| 1342 | \\pub export fn max(_arg_a_1: c_int) void { |
| 1343 | \\ var a_1 = _arg_a_1; |
| 1347 | 1344 | \\ var b: c_int = undefined; |
| 1348 | 1345 | \\ var c: c_int = undefined; |
| 1349 | 1346 | \\ c = blk: { |
| 1350 | | \\ const _tmp_1 = a; |
| 1351 | | \\ b = _tmp_1; |
| 1352 | | \\ break :blk _tmp_1; |
| 1347 | \\ const _tmp_2 = a_1; |
| 1348 | \\ b = _tmp_2; |
| 1349 | \\ break :blk _tmp_2; |
| 1353 | 1350 | \\ }; |
| 1354 | 1351 | \\} |
| 1355 | 1352 | }); |
| ... | ... | @@ -1373,9 +1370,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1373 | 1370 | \\ return (int)a; |
| 1374 | 1371 | \\} |
| 1375 | 1372 | , &[_][]const u8{ |
| 1376 | | \\pub export fn float_to_int(_arg_a: f32) c_int { |
| 1377 | | \\ var a = _arg_a; |
| 1378 | | \\ return @floatToInt(c_int, a); |
| 1373 | \\pub export fn float_to_int(_arg_a_1: f32) c_int { |
| 1374 | \\ var a_1 = _arg_a_1; |
| 1375 | \\ return @floatToInt(c_int, a_1); |
| 1379 | 1376 | \\} |
| 1380 | 1377 | }); |
| 1381 | 1378 | |
| ... | ... | @@ -1469,23 +1466,23 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1469 | 1466 | \\ C, |
| 1470 | 1467 | \\}; |
| 1471 | 1468 | \\pub const SomeTypedef = c_int; |
| 1472 | | \\pub export fn and_or_non_bool(_arg_a: c_int, _arg_b: f32, _arg_c: ?*c_void) c_int { |
| 1473 | | \\ var a = _arg_a; |
| 1474 | | \\ var b = _arg_b; |
| 1475 | | \\ var c = _arg_c; |
| 1469 | \\pub export fn and_or_non_bool(_arg_a_1: c_int, _arg_b_2: f32, _arg_c_3: ?*c_void) c_int { |
| 1470 | \\ var a_1 = _arg_a_1; |
| 1471 | \\ var b_2 = _arg_b_2; |
| 1472 | \\ var c_3 = _arg_c_3; |
| 1476 | 1473 | \\ var d: enum_Foo = @intToEnum(enum_Foo, FooA); |
| 1477 | | \\ var e: c_int = @boolToInt(((a != 0) and (b != 0))); |
| 1478 | | \\ var f: c_int = @boolToInt(((b != 0) and (c != null))); |
| 1479 | | \\ var g: c_int = @boolToInt(((a != 0) and (c != null))); |
| 1480 | | \\ var h: c_int = @boolToInt(((a != 0) or (b != 0))); |
| 1481 | | \\ var i: c_int = @boolToInt(((b != 0) or (c != null))); |
| 1482 | | \\ var j: c_int = @boolToInt(((a != 0) or (c != null))); |
| 1483 | | \\ var k: c_int = @boolToInt(((a != 0) or (@enumToInt(d) != 0))); |
| 1484 | | \\ var l: c_int = @boolToInt(((@enumToInt(d) != 0) and (b != 0))); |
| 1485 | | \\ var m: c_int = @boolToInt(((c != null) or (@enumToInt(d) != 0))); |
| 1474 | \\ var e: c_int = @boolToInt(((a_1 != 0) and (b_2 != 0))); |
| 1475 | \\ var f: c_int = @boolToInt(((b_2 != 0) and (c_3 != null))); |
| 1476 | \\ var g: c_int = @boolToInt(((a_1 != 0) and (c_3 != null))); |
| 1477 | \\ var h: c_int = @boolToInt(((a_1 != 0) or (b_2 != 0))); |
| 1478 | \\ var i: c_int = @boolToInt(((b_2 != 0) or (c_3 != null))); |
| 1479 | \\ var j: c_int = @boolToInt(((a_1 != 0) or (c_3 != null))); |
| 1480 | \\ var k: c_int = @boolToInt(((a_1 != 0) or (@enumToInt(d) != 0))); |
| 1481 | \\ var l: c_int = @boolToInt(((@enumToInt(d) != 0) and (b_2 != 0))); |
| 1482 | \\ var m: c_int = @boolToInt(((c_3 != null) or (@enumToInt(d) != 0))); |
| 1486 | 1483 | \\ var td: SomeTypedef = 44; |
| 1487 | | \\ var o: c_int = @boolToInt(((td != 0) or (b != 0))); |
| 1488 | | \\ var p: c_int = @boolToInt(((c != null) and (td != 0))); |
| 1484 | \\ var o: c_int = @boolToInt(((td != 0) or (b_2 != 0))); |
| 1485 | \\ var p: c_int = @boolToInt(((c_3 != null) and (td != 0))); |
| 1489 | 1486 | \\ return ((((((((((e + f) + g) + h) + i) + j) + k) + l) + m) + o) + p); |
| 1490 | 1487 | \\} |
| 1491 | 1488 | , |
| ... | ... | @@ -1523,10 +1520,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1523 | 1520 | \\ return (a & b) ^ (a | b); |
| 1524 | 1521 | \\} |
| 1525 | 1522 | , &[_][]const u8{ |
| 1526 | | \\pub export fn max(_arg_a: c_int, _arg_b: c_int) c_int { |
| 1527 | | \\ var a = _arg_a; |
| 1528 | | \\ var b = _arg_b; |
| 1529 | | \\ return ((a & b) ^ (a | b)); |
| 1523 | \\pub export fn max(_arg_a_1: c_int, _arg_b_2: c_int) c_int { |
| 1524 | \\ var a_1 = _arg_a_1; |
| 1525 | \\ var b_2 = _arg_b_2; |
| 1526 | \\ return ((a_1 & b_2) ^ (a_1 | b_2)); |
| 1530 | 1527 | \\} |
| 1531 | 1528 | }); |
| 1532 | 1529 | |
| ... | ... | @@ -1542,13 +1539,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1542 | 1539 | \\ return i; |
| 1543 | 1540 | \\} |
| 1544 | 1541 | , &[_][]const u8{ |
| 1545 | | \\pub export fn test_comparisons(_arg_a: c_int, _arg_b: c_int) c_int { |
| 1546 | | \\ var a = _arg_a; |
| 1547 | | \\ var b = _arg_b; |
| 1548 | | \\ var c: c_int = @boolToInt((a < b)); |
| 1549 | | \\ var d: c_int = @boolToInt((a > b)); |
| 1550 | | \\ var e: c_int = @boolToInt((a <= b)); |
| 1551 | | \\ var f: c_int = @boolToInt((a >= b)); |
| 1542 | \\pub export fn test_comparisons(_arg_a_1: c_int, _arg_b_2: c_int) c_int { |
| 1543 | \\ var a_1 = _arg_a_1; |
| 1544 | \\ var b_2 = _arg_b_2; |
| 1545 | \\ var c: c_int = @boolToInt((a_1 < b_2)); |
| 1546 | \\ var d: c_int = @boolToInt((a_1 > b_2)); |
| 1547 | \\ var e: c_int = @boolToInt((a_1 <= b_2)); |
| 1548 | \\ var f: c_int = @boolToInt((a_1 >= b_2)); |
| 1552 | 1549 | \\ var g: c_int = @boolToInt((c < d)); |
| 1553 | 1550 | \\ var h: c_int = @boolToInt((e < f)); |
| 1554 | 1551 | \\ var i: c_int = @boolToInt((g < h)); |
| ... | ... | @@ -1565,12 +1562,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1565 | 1562 | \\ return a; |
| 1566 | 1563 | \\} |
| 1567 | 1564 | , &[_][]const u8{ |
| 1568 | | \\pub export fn max(_arg_a: c_int, _arg_b: c_int) c_int { |
| 1569 | | \\ var a = _arg_a; |
| 1570 | | \\ var b = _arg_b; |
| 1571 | | \\ if (a == b) return a; |
| 1572 | | \\ if (a != b) return b; |
| 1573 | | \\ return a; |
| 1565 | \\pub export fn max(_arg_a_1: c_int, _arg_b_2: c_int) c_int { |
| 1566 | \\ var a_1 = _arg_a_1; |
| 1567 | \\ var b_2 = _arg_b_2; |
| 1568 | \\ if (a_1 == b_2) return a_1; |
| 1569 | \\ if (a_1 != b_2) return b_2; |
| 1570 | \\ return a_1; |
| 1574 | 1571 | \\} |
| 1575 | 1572 | }); |
| 1576 | 1573 | |
| ... | ... | @@ -1643,9 +1640,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1643 | 1640 | \\} |
| 1644 | 1641 | , &[_][]const u8{ |
| 1645 | 1642 | \\pub export var array: [100]c_int = .{0} ** 100; |
| 1646 | | \\pub export fn foo(_arg_index: c_int) c_int { |
| 1647 | | \\ var index = _arg_index; |
| 1648 | | \\ return array[index]; |
| 1643 | \\pub export fn foo(_arg_index_1: c_int) c_int { |
| 1644 | \\ var index_1 = _arg_index_1; |
| 1645 | \\ return array[index_1]; |
| 1649 | 1646 | \\} |
| 1650 | 1647 | , |
| 1651 | 1648 | \\pub const ACCESS = array[2]; |
| ... | ... | @@ -1668,12 +1665,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1668 | 1665 | \\ return a; |
| 1669 | 1666 | \\} |
| 1670 | 1667 | , &[_][]const u8{ |
| 1671 | | \\pub export fn max(_arg_a: c_int, _arg_b: c_int) c_int { |
| 1672 | | \\ var a = _arg_a; |
| 1673 | | \\ var b = _arg_b; |
| 1674 | | \\ if ((a < b) or (a == b)) return b; |
| 1675 | | \\ if ((a >= b) and (a == b)) return a; |
| 1676 | | \\ return a; |
| 1668 | \\pub export fn max(_arg_a_1: c_int, _arg_b_2: c_int) c_int { |
| 1669 | \\ var a_1 = _arg_a_1; |
| 1670 | \\ var b_2 = _arg_b_2; |
| 1671 | \\ if ((a_1 < b_2) or (a_1 == b_2)) return b_2; |
| 1672 | \\ if ((a_1 >= b_2) and (a_1 == b_2)) return a_1; |
| 1673 | \\ return a_1; |
| 1677 | 1674 | \\} |
| 1678 | 1675 | }); |
| 1679 | 1676 | |
| ... | ... | @@ -1690,12 +1687,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1690 | 1687 | \\ if (a < b) ; else ; |
| 1691 | 1688 | \\} |
| 1692 | 1689 | , &[_][]const u8{ |
| 1693 | | \\pub export fn max(_arg_a: c_int, _arg_b: c_int) c_int { |
| 1694 | | \\ var a = _arg_a; |
| 1695 | | \\ var b = _arg_b; |
| 1696 | | \\ if (a < b) return b; |
| 1697 | | \\ if (a < b) return b else return a; |
| 1698 | | \\ if (a < b) {} else {} |
| 1690 | \\pub export fn max(_arg_a_1: c_int, _arg_b_2: c_int) c_int { |
| 1691 | \\ var a_1 = _arg_a_1; |
| 1692 | \\ var b_2 = _arg_b_2; |
| 1693 | \\ if (a_1 < b_2) return b_2; |
| 1694 | \\ if (a_1 < b_2) return b_2 else return a_1; |
| 1695 | \\ if (a_1 < b_2) {} else {} |
| 1699 | 1696 | \\} |
| 1700 | 1697 | }); |
| 1701 | 1698 | |
| ... | ... | @@ -1714,15 +1711,15 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1714 | 1711 | \\ B, |
| 1715 | 1712 | \\ C, |
| 1716 | 1713 | \\}; |
| 1717 | | \\pub export fn if_none_bool(_arg_a: c_int, _arg_b: f32, _arg_c: ?*c_void, _arg_d: enum_SomeEnum) c_int { |
| 1718 | | \\ var a = _arg_a; |
| 1719 | | \\ var b = _arg_b; |
| 1720 | | \\ var c = _arg_c; |
| 1721 | | \\ var d = _arg_d; |
| 1722 | | \\ if (a != 0) return 0; |
| 1723 | | \\ if (b != 0) return 1; |
| 1724 | | \\ if (c != null) return 2; |
| 1725 | | \\ if (d != 0) return 3; |
| 1714 | \\pub export fn if_none_bool(_arg_a_1: c_int, _arg_b_2: f32, _arg_c_3: ?*c_void, _arg_d_4: enum_SomeEnum) c_int { |
| 1715 | \\ var a_1 = _arg_a_1; |
| 1716 | \\ var b_2 = _arg_b_2; |
| 1717 | \\ var c_3 = _arg_c_3; |
| 1718 | \\ var d_4 = _arg_d_4; |
| 1719 | \\ if (a_1 != 0) return 0; |
| 1720 | \\ if (b_2 != 0) return 1; |
| 1721 | \\ if (c_3 != null) return 2; |
| 1722 | \\ if (d_4 != 0) return 3; |
| 1726 | 1723 | \\ return 4; |
| 1727 | 1724 | \\} |
| 1728 | 1725 | }); |
| ... | ... | @@ -1744,9 +1741,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1744 | 1741 | \\ return a < 0 ? -a : a; |
| 1745 | 1742 | \\} |
| 1746 | 1743 | , &[_][]const u8{ |
| 1747 | | \\pub export fn abs(_arg_a: c_int) c_int { |
| 1748 | | \\ var a = _arg_a; |
| 1749 | | \\ return if (a < 0) -a else a; |
| 1744 | \\pub export fn abs(_arg_a_1: c_int) c_int { |
| 1745 | \\ var a_1 = _arg_a_1; |
| 1746 | \\ return if (a_1 < 0) -a_1 else a_1; |
| 1750 | 1747 | \\} |
| 1751 | 1748 | }); |
| 1752 | 1749 | |
| ... | ... | @@ -1760,15 +1757,15 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1760 | 1757 | \\ return a; |
| 1761 | 1758 | \\} |
| 1762 | 1759 | , &[_][]const u8{ |
| 1763 | | \\pub export fn foo1(_arg_a: c_uint) c_uint { |
| 1764 | | \\ var a = _arg_a; |
| 1765 | | \\ a +%= 1; |
| 1766 | | \\ return a; |
| 1760 | \\pub export fn foo1(_arg_a_1: c_uint) c_uint { |
| 1761 | \\ var a_1 = _arg_a_1; |
| 1762 | \\ a_1 +%= 1; |
| 1763 | \\ return a_1; |
| 1767 | 1764 | \\} |
| 1768 | | \\pub export fn foo2(_arg_a: c_int) c_int { |
| 1769 | | \\ var a = _arg_a; |
| 1770 | | \\ a += 1; |
| 1771 | | \\ return a; |
| 1765 | \\pub export fn foo2(_arg_a_2: c_int) c_int { |
| 1766 | \\ var a_2 = _arg_a_2; |
| 1767 | \\ a_2 += 1; |
| 1768 | \\ return a_2; |
| 1772 | 1769 | \\} |
| 1773 | 1770 | }); |
| 1774 | 1771 | |
| ... | ... | @@ -1855,11 +1852,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1855 | 1852 | \\ return i; |
| 1856 | 1853 | \\} |
| 1857 | 1854 | , &[_][]const u8{ |
| 1858 | | \\pub export fn log2(_arg_a: c_uint) c_int { |
| 1859 | | \\ var a = _arg_a; |
| 1855 | \\pub export fn log2(_arg_a_1: c_uint) c_int { |
| 1856 | \\ var a_1 = _arg_a_1; |
| 1860 | 1857 | \\ var i: c_int = 0; |
| 1861 | | \\ while (a > @intCast(c_uint, 0)) { |
| 1862 | | \\ a >>= @as(@import("std").math.Log2Int(c_int), 1); |
| 1858 | \\ while (a_1 > @intCast(c_uint, 0)) { |
| 1859 | \\ a_1 >>= @as(@import("std").math.Log2Int(c_int), 1); |
| 1863 | 1860 | \\ } |
| 1864 | 1861 | \\ return i; |
| 1865 | 1862 | \\} |
| ... | ... | @@ -1875,11 +1872,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1875 | 1872 | \\ return i; |
| 1876 | 1873 | \\} |
| 1877 | 1874 | , &[_][]const u8{ |
| 1878 | | \\pub export fn log2(_arg_a: u32) c_int { |
| 1879 | | \\ var a = _arg_a; |
| 1875 | \\pub export fn log2(_arg_a_1: u32) c_int { |
| 1876 | \\ var a_1 = _arg_a_1; |
| 1880 | 1877 | \\ var i: c_int = 0; |
| 1881 | | \\ while (a > @intCast(c_uint, 0)) { |
| 1882 | | \\ a >>= @as(@import("std").math.Log2Int(c_int), 1); |
| 1878 | \\ while (a_1 > @intCast(c_uint, 0)) { |
| 1879 | \\ a_1 >>= @as(@import("std").math.Log2Int(c_int), 1); |
| 1883 | 1880 | \\ } |
| 1884 | 1881 | \\ return i; |
| 1885 | 1882 | \\} |
| ... | ... | @@ -2059,7 +2056,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2059 | 2056 | \\void fn_bool(bool x); |
| 2060 | 2057 | \\void fn_ptr(void *x); |
| 2061 | 2058 | \\ |
| 2062 | | \\void call(int q) { |
| 2059 | \\void call() { |
| 2063 | 2060 | \\ fn_int(3.0f); |
| 2064 | 2061 | \\ fn_int(3.0); |
| 2065 | 2062 | \\ fn_int(3.0L); |
| ... | ... | @@ -2084,8 +2081,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2084 | 2081 | \\pub extern fn fn_char(x: u8) void; |
| 2085 | 2082 | \\pub extern fn fn_bool(x: bool) void; |
| 2086 | 2083 | \\pub extern fn fn_ptr(x: ?*c_void) void; |
| 2087 | | \\pub export fn call(_arg_q: c_int) void { |
| 2088 | | \\ var q = _arg_q; |
| 2084 | \\pub export fn call() void { |
| 2089 | 2085 | \\ fn_int(@floatToInt(c_int, 3)); |
| 2090 | 2086 | \\ fn_int(@floatToInt(c_int, 3)); |
| 2091 | 2087 | \\ fn_int(@floatToInt(c_int, 3)); |
| ... | ... | @@ -2113,10 +2109,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2113 | 2109 | \\} |
| 2114 | 2110 | , &[_][]const u8{ |
| 2115 | 2111 | \\pub fn bar() void {} |
| 2116 | | \\pub export fn foo(_arg_baz: ?extern fn () [*c]c_int) void { |
| 2117 | | \\ var baz = _arg_baz; |
| 2112 | \\pub export fn foo(_arg_baz_1: ?extern fn () [*c]c_int) void { |
| 2113 | \\ var baz_1 = _arg_baz_1; |
| 2118 | 2114 | \\ bar(); |
| 2119 | | \\ _ = baz.?(); |
| 2115 | \\ _ = baz_1.?(); |
| 2120 | 2116 | \\} |
| 2121 | 2117 | }); |
| 2122 | 2118 | |