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