https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98384

--- Comment #18 from Patrick Palka <ppalka at gcc dot gnu.org> ---
FWIW, here's a complete corrected version of the Solaris test in comment #13
which should be fully free of warnings:

#include <cstdio>

int main() {
  printf("%La\n", 1.0L);      // trailing zeros present (not nonconforming, but
unexpected by the libstdc++ testcase)
  printf("%.1000Lf\n", 1.0L); // output contains e+00 (nonconforming?)
  printf("%Lf\n", 1e1000L);   // output is in scientific notation
(nonconforming?)
}


(In reply to Iain Sandoe from comment #17)
> (In reply to Patrick Palka from comment #16)
> > (In reply to r...@cebitec.uni-bielefeld.de from comment #14)
> > > > --- Comment #13 from Patrick Palka <ppalka at gcc dot gnu.org> ---
> 
> [..]
> > > Which according to ISO C 2017, p.228, is allowed: "trailing zeros may
> > > be omitted".
> > 
> > Ack.
> 
> Darwin also produces the trailing zeros.
> 
> For the #c13 test with Jakub's correction (x86_64-darwin16):
> 
> 0x8p-3

Thanks.  Trailing zeros in the second line of output are expected (and
required).  It's the hex form (on the first line of output) that the libstdc++
testcase doesn't expect to contain trailing zeros, so I don't anticipate any
issues with printf on Darwin.  So my hope is that the
https://gcc.gnu.org/pipermail/gcc-patches/2021-February/565726.html resolves
the long_double.cc FAIL on 64-bit Darwin as well.

Reply via email to