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:
| M | src/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) {