Unified · Split
| @@ -2500,12 +2500,13 @@ static void parse_number(const char *p) · 2499 unmodified lines | |||
| 2500 | if (t >= b) | 2500 | if (t >= b) |
| 2501 | tcc_error("invalid digit"); | 2501 | tcc_error("invalid digit"); |
| 2502 | n = n * b + t; | 2502 | n = n * b + t; |
| 2503 | if (!ov) | 2503 | if (!ov) { |
| 2504 | /* detect overflow */ | 2504 | /* detect overflow */ |
| 2505 | if (n1 >= 0x1000000000000000ULL && n / b != n1) | 2505 | if (n1 >= 0x1000000000000000ULL && n / b != n1) |
| 2506 | ov = 1; | 2506 | ov = 1; |
| 2507 | else | 2507 | else |
| 2508 | n1 = n; | 2508 | n1 = n; |
| 2509 | } | ||
| 2509 | } | 2510 | } |
| 2510 | 2511 | ||
| 2511 | /* Determine the characteristics (unsigned and/or 64bit) the type of | 2512 | /* Determine the characteristics (unsigned and/or 64bit) the type of |