From dc7608da973291aafb7a58f33eb65dc3389c123d Mon Sep 17 00:00:00 2001 From: Asherah Connor Date: Thu, 27 Aug 2020 11:17:03 +1000 Subject: [PATCH] ensure main return type is not i8 Avoids a compile error from start.zig: /home/kivikakk/zig/build/lib/zig/std/start.zig:265:28: error: expected type 'u8', found 'i8' return result; ^ /home/kivikakk/zig/build/lib/zig/std/start.zig:265:28: note: unsigned 8-bit int cannot represent all possible signed 8-bit values return result; --- lib/std/start.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/std/start.zig b/lib/std/start.zig index 2b1bae060e..8e443a7c77 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -248,7 +248,7 @@ pub fn callMain() u8 { return 0; }, .Int => |info| { - if (info.bits != 8) { + if (info.bits != 8 or info.is_signed) { @compileError(bad_main_ret); } return root.main(); @@ -264,7 +264,7 @@ pub fn callMain() u8 { switch (@typeInfo(@TypeOf(result))) { .Void => return 0, .Int => |info| { - if (info.bits != 8) { + if (info.bits != 8 or info.is_signed) { @compileError(bad_main_ret); } return result;