https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98384
--- Comment #30 from Patrick Palka <ppalka at gcc dot gnu.org> --- (In reply to Andreas Schwab from comment #25) > I don't think this is wrong, as long as DECIMAL_DIG <= 37. Ah, that's good to know, thanks. So that's yet another non-portable assumption about printf made by this test... We can't rely on printf outputting a value exactly if it has more than DECIMAL_DIG significant decimal digits. On targets where long double == double, I suppose we can just skip this test. On these targets, the long double to_chars overloads are defined as trivial wrappers around the double overloads, so it should suffice to test just the double overloads. This'll take care of FAIL on AIX. And I think I'll XFAIL the test on Solaris and Darwin for now. (For GCC 12 I should replace this non-portable test with a separate test for each supported long double format in the style of float.cc/double.cc.)