http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|jvdelisle at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-12 12:00:58 UTC --- Created attachment 23312 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23312 gcc46-pr47642.patch So far only very lightly tested patch which adds quadmath_snprintf entrypoint and on recent glibcs also installs printf hooks, so that all *printf family calls handle Q modifier to eEfFgGaA. I haven't changed libgfortran yet to use it, but the change would be basically to use: #define DTOAQ \ __qmath_(quadmath_snprintf) (buffer, sizeof buffer, "%+-#" \ STR(MIN_FIELD_WIDTH) ".*Qe", ndigits - 1, tmp); instead of: #define DTOAQ \ __qmath_(quadmath_flt128tostr) (buffer, size, ndigits - 1, tmp); I haven't also removed quadmath_flt128tostr yet. I'd appreciate testing of this patch on various architectures, while I've tried to add various configury macros to dumb down the implementation on less featureful targets, I've only tested it (briefly) on glibc 2.13.