https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94756
--- Comment #15 from niXman <i.nixman at autistici dot org> ---
(In reply to Jakub Jelinek from comment #13)
> Fixed now on the trunk. I'd wait a little bit with backports, though I
> think the gmp-param.h change doesn't need backporting.
unfortunately, the bug is still present on i686-mingw-w64.
this test has failed:
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <quadmath.h>
int main(void) {
__float128 f1, f2;
char buffer0[50], buffer1[50];
f1 = strtoflt128("1e-4941", NULL);
f2 = 1e-4941Q;
quadmath_snprintf(buffer0, 45, "%Qa", f1);
printf("f1: %s\n", buffer0);
quadmath_snprintf(buffer1, 45, "%Qa", f2);
printf("f2: %s\n", buffer1);
fflush(stdout);
assert(strcmp(buffer0, buffer1) == 0);
return 0;
}
the output:
f1: 0x0.0000000cc64f1cc4376f7da08f39p-16382
f2: 0x0.000000014707e946d257f2f674b9p-16382