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

--- Comment #5 from Eric Gallager <egallager at gcc dot gnu.org> ---
(In reply to Manuel López-Ibáñez from comment #4)
> (In reply to Jonathan Wakely from comment #2)
> > (In reply to Patrick J. LoPresti from comment #0)
> > > Note that my code does not use any quad-precision literals; just the
> > > documented `FLT128_MAX` macro.
> > 
> > Which is a quad-precision literal, of course.
> > 
> > > I realize quadmath is more a C thing than a C++ thing... But it would
> > > still be nice if this worked, IMO.
> > 
> > It does work if you use the right options to allow the necessary extensions.
> > 
> > > On a possibly related note, writing "__extension__" before a
> > > quad-precision literal does not silence this error. Perhaps it should (?)
> > 
> > Yes, maybe. Confirming for that feature request.
> 
> 
> This is an error, not a warning nor a warning converted to an error.
> __extension__ silences warnings, it does not make something that should not
> compile into something that should compile.
> 
> However, the following should work and it doesn't:
> 
> // with -Wpedantic -std=gnu++11
> #include <quadmath.h>
> __float128 x0 = FLT128_MAX; /* warn */
> __float128 x1 = __extension__ FLT128_MAX; /* no warn */

That sounds like bug 71003 (which apparently was already added as related from
the other end, but just making sure to mention it on this end as well, since I
filed it and would like to see it fixed)

Reply via email to