| 657 | } |
| 658 | |
| 659 | void AddOctInteger(const char* pos, const char* end) |
| 660 | { |
| 661 | pos++; |
| 662 | // skip leading zeros |
| 663 | while(*pos == '0') |
| 664 | pos++; |
| 665 | if(int(end - pos) > 22 || (int(end - pos) > 21 && *pos != '1')) |
| 666 | ThrowError(pos, "ERROR: overflow in octal constant"); |
| 667 | long long num = parseLong(pos, end, 8); |
| 668 | // If number overflows integer number, create long number |
| 669 | if(int(num) == num) |
| 670 | CodeInfo::nodeList.push_back(new NodeNumber(int(num), typeInt)); |
| 671 | else |
| 672 | CodeInfo::nodeList.push_back(new NodeNumber(num, typeLong)); |
| 673 | } |
| 674 | |
| 675 | void AddBinInteger(const char* pos, const char* end) |
| 676 | { |
no test coverage detected