| ... | ... | @@ -1485,7 +1485,19 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1485 | 1485 | , &[_][]const u8{ |
| 1486 | 1486 | \\pub export fn ptrcast() [*c]f32 { |
| 1487 | 1487 | \\ var a: [*c]c_int = undefined; |
| 1488 | | \\ return @ptrCast([*c]f32, @alignCast(@import("std").meta.alignment(f32), a)); |
| 1488 | \\ return @ptrCast([*c]f32, @alignCast(@import("std").meta.alignment([*c]f32), a)); |
| 1489 | \\} |
| 1490 | }); |
| 1491 | |
| 1492 | cases.add("casting pointer to pointer", |
| 1493 | \\float **ptrptrcast() { |
| 1494 | \\ int **a; |
| 1495 | \\ return (float **)a; |
| 1496 | \\} |
| 1497 | , &[_][]const u8{ |
| 1498 | \\pub export fn ptrptrcast() [*c][*c]f32 { |
| 1499 | \\ var a: [*c][*c]c_int = undefined; |
| 1500 | \\ return @ptrCast([*c][*c]f32, @alignCast(@import("std").meta.alignment([*c][*c]f32), a)); |
| 1489 | 1501 | \\} |
| 1490 | 1502 | }); |
| 1491 | 1503 | |
| ... | ... | @@ -1509,23 +1521,23 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1509 | 1521 | \\pub export fn test_ptr_cast() void { |
| 1510 | 1522 | \\ var p: ?*anyopaque = undefined; |
| 1511 | 1523 | \\ { |
| 1512 | | \\ var to_char: [*c]u8 = @ptrCast([*c]u8, @alignCast(@import("std").meta.alignment(u8), p)); |
| 1524 | \\ var to_char: [*c]u8 = @ptrCast([*c]u8, @alignCast(@import("std").meta.alignment([*c]u8), p)); |
| 1513 | 1525 | \\ _ = to_char; |
| 1514 | | \\ var to_short: [*c]c_short = @ptrCast([*c]c_short, @alignCast(@import("std").meta.alignment(c_short), p)); |
| 1526 | \\ var to_short: [*c]c_short = @ptrCast([*c]c_short, @alignCast(@import("std").meta.alignment([*c]c_short), p)); |
| 1515 | 1527 | \\ _ = to_short; |
| 1516 | | \\ var to_int: [*c]c_int = @ptrCast([*c]c_int, @alignCast(@import("std").meta.alignment(c_int), p)); |
| 1528 | \\ var to_int: [*c]c_int = @ptrCast([*c]c_int, @alignCast(@import("std").meta.alignment([*c]c_int), p)); |
| 1517 | 1529 | \\ _ = to_int; |
| 1518 | | \\ var to_longlong: [*c]c_longlong = @ptrCast([*c]c_longlong, @alignCast(@import("std").meta.alignment(c_longlong), p)); |
| 1530 | \\ var to_longlong: [*c]c_longlong = @ptrCast([*c]c_longlong, @alignCast(@import("std").meta.alignment([*c]c_longlong), p)); |
| 1519 | 1531 | \\ _ = to_longlong; |
| 1520 | 1532 | \\ } |
| 1521 | 1533 | \\ { |
| 1522 | | \\ var to_char: [*c]u8 = @ptrCast([*c]u8, @alignCast(@import("std").meta.alignment(u8), p)); |
| 1534 | \\ var to_char: [*c]u8 = @ptrCast([*c]u8, @alignCast(@import("std").meta.alignment([*c]u8), p)); |
| 1523 | 1535 | \\ _ = to_char; |
| 1524 | | \\ var to_short: [*c]c_short = @ptrCast([*c]c_short, @alignCast(@import("std").meta.alignment(c_short), p)); |
| 1536 | \\ var to_short: [*c]c_short = @ptrCast([*c]c_short, @alignCast(@import("std").meta.alignment([*c]c_short), p)); |
| 1525 | 1537 | \\ _ = to_short; |
| 1526 | | \\ var to_int: [*c]c_int = @ptrCast([*c]c_int, @alignCast(@import("std").meta.alignment(c_int), p)); |
| 1538 | \\ var to_int: [*c]c_int = @ptrCast([*c]c_int, @alignCast(@import("std").meta.alignment([*c]c_int), p)); |
| 1527 | 1539 | \\ _ = to_int; |
| 1528 | | \\ var to_longlong: [*c]c_longlong = @ptrCast([*c]c_longlong, @alignCast(@import("std").meta.alignment(c_longlong), p)); |
| 1540 | \\ var to_longlong: [*c]c_longlong = @ptrCast([*c]c_longlong, @alignCast(@import("std").meta.alignment([*c]c_longlong), p)); |
| 1529 | 1541 | \\ _ = to_longlong; |
| 1530 | 1542 | \\ } |
| 1531 | 1543 | \\} |