zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit cd7713b1788aeeadf6c46def38d4ef4fa313fe75 (tree)
parent 0cf0739b0acee51fc7f3b0bb97a5c8c4199b0e44
Author: Andrew Kelley <superjoe30@gmail.com>
Date:   Thu,  2 Feb 2017 23:14:08 -0500

make --target-os freestanding work

Diffstat:
Msrc/target.cpp | 17++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/target.cpp b/src/target.cpp @@ -433,7 +433,22 @@ static int get_arch_pointer_bit_width(ZigLLVM_ArchType arch) { int get_c_type_size_in_bits(const ZigTarget *target, CIntType id) { switch (target->os) { case ZigLLVM_UnknownOS: - zig_unreachable(); + switch (id) { + case CIntTypeShort: + case CIntTypeUShort: + return 16; + case CIntTypeInt: + case CIntTypeUInt: + return 32; + case CIntTypeLong: + case CIntTypeULong: + return get_arch_pointer_bit_width(target->arch.arch); + case CIntTypeLongLong: + case CIntTypeULongLong: + return 64; + case CIntTypeCount: + zig_unreachable(); + } case ZigLLVM_Linux: case ZigLLVM_Darwin: switch (id) {