| ... | @@ -6715,13 +6715,7 @@ fn floatLiteral(gz: *GenZir, rl: ResultLoc, node: Ast.Node.Index, sign: Sign) In | ... | @@ -6715,13 +6715,7 @@ fn floatLiteral(gz: *GenZir, rl: ResultLoc, node: Ast.Node.Index, sign: Sign) In |
| 6715 | | 6715 | |
| 6716 | const main_token = main_tokens[node]; | 6716 | const main_token = main_tokens[node]; |
| 6717 | const bytes = tree.tokenSlice(main_token); | 6717 | const bytes = tree.tokenSlice(main_token); |
| 6718 | const unsigned_float_number: f128 = if (bytes.len > 2 and bytes[1] == 'x') hex: { | 6718 | const unsigned_float_number = std.fmt.parseFloat(f128, bytes) catch |err| switch (err) { |
| 6719 | assert(bytes[0] == '0'); // validated by tokenizer | | |
| 6720 | break :hex std.fmt.parseHexFloat(f128, bytes) catch |err| switch (err) { | | |
| 6721 | error.InvalidCharacter => unreachable, // validated by tokenizer | | |
| 6722 | error.Overflow => return astgen.failNode(node, "number literal cannot be represented in a 128-bit floating point", .{}), | | |
| 6723 | }; | | |
| 6724 | } else std.fmt.parseFloat(f128, bytes) catch |err| switch (err) { | | |
| 6725 | error.InvalidCharacter => unreachable, // validated by tokenizer | 6719 | error.InvalidCharacter => unreachable, // validated by tokenizer |
| 6726 | }; | 6720 | }; |
| 6727 | const float_number = switch (sign) { | 6721 | const float_number = switch (sign) { |