This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 12 Feb 2011 12:01:04 +0000
- Subject: [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
- Auto-submitted: auto-generated
- References: <bug-47642-4@http.gcc.gnu.org/bugzilla/>
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.