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)