Commit b04c690
committed
[libc] Fix printf long double bugs
Found in testing against abseil. Two bugs were found:
1) SHIFT_AMOUNT in float_converter<long double> would sometimes be
negative causing an underflow when passed as the amount to left shift
by for BigInt.
2) is_lowest_block had an off-by-one because it was adding 1 to the
block index.
Both are fixed and there are new tests to catch regressions.1 parent 4cdeb7d commit b04c690
File tree
2 files changed
+18
-2
lines changed- libc
- src/__support
- test/src/stdio
2 files changed
+18
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
700 | 700 | | |
701 | 701 | | |
702 | 702 | | |
703 | | - | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
704 | 708 | | |
705 | 709 | | |
706 | 710 | | |
| |||
769 | 773 | | |
770 | 774 | | |
771 | 775 | | |
772 | | - | |
| 776 | + | |
773 | 777 | | |
774 | 778 | | |
775 | 779 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1537 | 1537 | | |
1538 | 1538 | | |
1539 | 1539 | | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
1540 | 1548 | | |
1541 | 1549 | | |
1542 | 1550 | | |
| |||
2976 | 2984 | | |
2977 | 2985 | | |
2978 | 2986 | | |
| 2987 | + | |
| 2988 | + | |
| 2989 | + | |
| 2990 | + | |
2979 | 2991 | | |
2980 | 2992 | | |
2981 | 2993 | | |
| |||
0 commit comments