authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-08-04 11:37:09+03:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-08-06 14:42:05-07:00
logbd21f499dcd1b50a6ac39644303a9647d16adb0f
tree60d92a901f11be9e203f6970a57fb03b7ca5873c
parent94662591d617226caabcb6c7319d703f1e41a880

Type: adjust C type sizes


2 files changed, 41 insertions(+), 28 deletions(-)

lib/std/target.zig+2-1
...@@ -1750,10 +1750,11 @@ pub const Target = struct {...@@ -1750,10 +1750,11 @@ pub const Target = struct {
1750 else => false,1750 else => false,
1751 },1751 },
1752 f64 => switch (target.cpu.arch) {1752 f64 => switch (target.cpu.arch) {
1753 .aarch64 => target.isDarwin(),
1754
1753 .x86_64,1755 .x86_64,
1754 .i386,1756 .i386,
1755 .riscv64,1757 .riscv64,
1756 .aarch64,
1757 .aarch64_be,1758 .aarch64_be,
1758 .aarch64_32,1759 .aarch64_32,
1759 .s390x,1760 .s390x,
src/type.zig+39-27
...@@ -6530,6 +6530,11 @@ pub const CType = enum {...@@ -6530,6 +6530,11 @@ pub const CType = enum {
6530 .long, .ulong => return 32,6530 .long, .ulong => return 32,
6531 .longlong, .ulonglong, .longdouble => return 64,6531 .longlong, .ulonglong, .longdouble => return 64,
6532 },6532 },
6533 .avr => switch (self) {
6534 .short, .ushort, .int, .uint => return 16,
6535 .long, .ulong, .longdouble => return 32,
6536 .longlong, .ulonglong => return 64,
6537 },
6533 else => switch (self) {6538 else => switch (self) {
6534 .short, .ushort => return 16,6539 .short, .ushort => return 16,
6535 .int, .uint => return 32,6540 .int, .uint => return 32,
...@@ -6568,31 +6573,42 @@ pub const CType = enum {...@@ -6568,31 +6573,42 @@ pub const CType = enum {
6568 .emscripten,6573 .emscripten,
6569 .plan9,6574 .plan9,
6570 .solaris,6575 .solaris,
6571 => switch (self) {6576 .haiku,
6572 .short, .ushort => return 16,6577 .ananas,
6573 .int, .uint => return 32,6578 .fuchsia,
6574 .long, .ulong => return target.cpu.arch.ptrBitWidth(),6579 .minix,
6575 .longlong, .ulonglong => return 64,6580 => switch (target.cpu.arch) {
6576 .longdouble => switch (target.cpu.arch) {6581 .avr => switch (self) {
6577 .i386, .x86_64 => return 80,6582 .short, .ushort, .int, .uint => return 16,
6583 .long, .ulong, .longdouble => return 32,
6584 .longlong, .ulonglong => return 64,
6585 },
6586 else => switch (self) {
6587 .short, .ushort => return 16,
6588 .int, .uint => return 32,
6589 .long, .ulong => return target.cpu.arch.ptrBitWidth(),
6590 .longlong, .ulonglong => return 64,
6591 .longdouble => switch (target.cpu.arch) {
6592 .i386, .x86_64 => return 80,
65786593
6579 .riscv64,6594 .riscv64,
6580 .aarch64,6595 .aarch64,
6581 .aarch64_be,6596 .aarch64_be,
6582 .aarch64_32,6597 .aarch64_32,
6583 .s390x,6598 .s390x,
6584 .mips64,6599 .mips64,
6585 .mips64el,6600 .mips64el,
6586 .sparc,6601 .sparc,
6587 .sparc64,6602 .sparc64,
6588 .sparcel,6603 .sparcel,
6589 .powerpc,6604 .powerpc,
6590 .powerpcle,6605 .powerpcle,
6591 .powerpc64,6606 .powerpc64,
6592 .powerpc64le,6607 .powerpc64le,
6593 => return 128,6608 => return 128,
65946609
6595 else => return 64,6610 else => return 64,
6611 },
6596 },6612 },
6597 },6613 },
65986614
...@@ -6612,14 +6628,10 @@ pub const CType = enum {...@@ -6612,14 +6628,10 @@ pub const CType = enum {
6612 },6628 },
6613 },6629 },
66146630
6615 .ananas,
6616 .cloudabi,6631 .cloudabi,
6617 .fuchsia,
6618 .kfreebsd,6632 .kfreebsd,
6619 .lv2,6633 .lv2,
6620 .zos,6634 .zos,
6621 .haiku,
6622 .minix,
6623 .rtems,6635 .rtems,
6624 .nacl,6636 .nacl,
6625 .aix,6637 .aix,