https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119241
--- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Richard Biener from comment #18) > It's the following hunk. real_to_decimal always uses e+exp notation > and a lower-case 'E'. Not 100%. I believe it prints -0.0 and 0.0 like that rather than -0.0e+00 or 0.0e+00, and when appending the e it can emit e+3 or e-2 rather than e+03 and e-02 that %e would emit. Though, seems genapi.cc doesn't care about leading zeros in there, so maybe we just need to special case the 0/-0 cases and search for 'e' rather than 'E'. > So we might want to post-process the string > instead of trying to re-format. And the %f case certainly needs more post processing, though perhaps that is not even enough, e.g. for very large E+NN numbers one might need much bigger precision. Though, the ach buffer is still just 128 bytes long, so perhaps it does that only for a subset of values. I wonder what happens when exp > 32, precision is negative, %.-17f wasn't really valid.