Commit 1f3eeb5443

Andrew Kelley <andrew@ziglang.org>
2020-04-19 09:29:07
ir: parse type noreturn
1 parent 104ae41
Changed files (2)
src-self-hosted
src-self-hosted/ir.zig
@@ -237,6 +237,8 @@ fn parseOptionalType(ctx: *ParseContext) !?Type {
         const type_text = mem.trim(u8, type_text_untrimmed, " \n");
         if (mem.eql(u8, type_text, "usize")) {
             return Type.initTag(.int_usize);
+        } else if (mem.eql(u8, type_text, "noreturn")) {
+            return Type.initTag(.no_return);
         } else {
             return parseError(ctx, "TODO parse type '{}'", .{type_text});
         }
src-self-hosted/type.zig
@@ -75,6 +75,7 @@ pub const Type = extern union {
     /// See `zigTypeTag` for the function that corresponds to `std.builtin.TypeId`.
     pub const Tag = enum {
         // The first section of this enum are tags that require no payload.
+        no_return,
         int_comptime,
         int_u8,
         int_usize,