This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]