Commit 4870595352

Travis Staloch <twostepted@gmail.com>
2021-09-09 23:17:59
sat-arithmetic: add additional tokenizer tests
1 parent 1d86eae
Changed files (2)
lib
src
codegen
lib/std/zig/tokenizer.zig
@@ -2019,6 +2019,18 @@ test "tokenizer - saturating" {
     try testTokenize("<<", &.{.angle_bracket_angle_bracket_left});
     try testTokenize("<<|", &.{.angle_bracket_angle_bracket_left_pipe});
     try testTokenize("<<|=", &.{.angle_bracket_angle_bracket_left_pipe_equal});
+
+    try testTokenize("*", &.{.asterisk});
+    try testTokenize("*|", &.{.asterisk_pipe});
+    try testTokenize("*|=", &.{.asterisk_pipe_equal});
+
+    try testTokenize("+", &.{.plus});
+    try testTokenize("+|", &.{.plus_pipe});
+    try testTokenize("+|=", &.{.plus_pipe_equal});
+
+    try testTokenize("-", &.{.minus});
+    try testTokenize("-|", &.{.minus_pipe});
+    try testTokenize("-|=", &.{.minus_pipe_equal});
 }
 
 fn testTokenize(source: [:0]const u8, expected_tokens: []const Token.Tag) !void {
src/codegen/c.zig
@@ -1347,6 +1347,7 @@ fn airSatOp(
             .c_longlong => "LLONG_MIN",
             .isize => "INTPTR_MIN",
             else => blk: {
+                // compute the type minimum based on the bitcount (bits)
                 const val = -1 * std.math.pow(i65, 2, @intCast(i65, bits - 1));
                 break :blk std.fmt.bufPrint(&min_buf, "{d}", .{val}) catch |err| switch (err) {
                     error.NoSpaceLeft => unreachable,