https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87274
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manu at gcc dot gnu.org --- Comment #4 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (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 */