public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD
@ 2011-02-08  9:56 mexas at bristol dot ac.uk
  2011-02-08 10:44 ` [Bug fortran/47642] " dominiq at lps dot ens.fr
                   ` (24 more replies)
  0 siblings, 25 replies; 26+ messages in thread
From: mexas at bristol dot ac.uk @ 2011-02-08  9:56 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

           Summary: real(kind=16) - libquadmath - segfault on amd64
                    FreeBSD
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: mexas@bristol.ac.uk


BUZI> uname -a
FreeBSD zzz 9.0-CURRENT FreeBSD 9.0-CURRENT #4 r217412: Fri Jan 14 22:09:57 GMT
2011     root@zzz:/usr/obj/usr/src/sys/BUZI  amd64
BUZI> cat tmp.f90
        program z
        implicit none

        real(kind=16) :: q

        q=1.0e48_16

        write(*,*)q
        write(*,*)nearest(q,1.0)
        write(*,*)nearest(q,1.0)-q

        end program z
BUZI> gfortran46 -Wl,-rpath=/usr/local/lib/gcc46 tmp.f90
BUZI> ./a.out
  1.00000000000000000000000000000000000E+0048
  1.00000000000000000000000000000000014E+0048
   140737488355328.00000000000000000000      
BUZI>

This is fine, however, changing the constant to 1e38 gives segfault:

BUZI> cat tmp.f90
        program z
        implicit none

        real(kind=16) :: q

        q=1.0e38_16

        write(*,*)q
        write(*,*)nearest(q,1.0)
        write(*,*)nearest(q,1.0)-q

        end program z
BUZI> gfortran46 -Wl,-rpath=/usr/local/lib/gcc46 tmp.f90
BUZI> ./a.out
  1.00000000000000000000000000000000000E+0038
Segmentation fault (core dumped)
BUZI> 

Same with 1e39:
BUZI> cat tmp.f90
        program z
        implicit none

        real(kind=16) :: q

        q=1.0e39_16

        write(*,*)q
        write(*,*)nearest(q,1.0)
        write(*,*)nearest(q,1.0)-q

        end program z
BUZI> gfortran46 -Wl,-rpath=/usr/local/lib/gcc46 tmp.f90
BUZI> ./a.out
  1.00000000000000000000000000000000000E+0039
Segmentation fault (core dumped)
BUZI> 


Then 1e29 works correct again

BUZI> cat tmp.f90
        program z
        implicit none

        real(kind=16) :: q

        q=1.0e29_16

        write(*,*)q
        write(*,*)nearest(q,1.0)
        write(*,*)nearest(q,1.0)-q

        end program z
BUZI> gfortran46 -Wl,-rpath=/usr/local/lib/gcc46 tmp.f90
BUZI> ./a.out
   100000000000000000000000000000.00000      
   100000000000000000000000000000.00002      
  1.52587890625000000000000000000000000E-0005
BUZI> 

>From debugger:

BUZI> gdb a.out a.out.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols
found)...
Core was generated by `a.out'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/gcc46/libgfortran.so.3...done.
Loaded symbols for /usr/local/lib/gcc46/libgfortran.so.3
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /usr/local/lib/gcc46/libgcc_s.so.1...done.
Loaded symbols for /usr/local/lib/gcc46/libgcc_s.so.1
Reading symbols from /usr/local/lib/gcc46/libquadmath.so.0...done.
Loaded symbols for /usr/local/lib/gcc46/libquadmath.so.0
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x00000008010ba0ae in memset () from /lib/libc.so.7
(gdb) (gdb) bt
#0  0x00000008010ba0ae in memset () from /lib/libc.so.7
#1  0x0000000800d98a27 in quadmath_flt128tostr (s=0x7fffffffd250 '0' <repeats
200 times>..., 
    size=47, n=37, x=Variable "x" is not available.
) at ../.././../gcc-4.6-20110205/libquadmath/quadmath_io.c:95
#2  0x3030303030303030 in ?? ()
#3  0x3030303030303030 in ?? ()
#4  0x3030303030303030 in ?? ()
#5  0x3030303030303030 in ?? ()
#6  0x3030303030303030 in ?? ()
#7  0x3030303030303030 in ?? ()

*skip lots of identical lines*

#968 0x3030303030303030 in ?? ()
#969 0x3030303030303030 in ?? ()
#970 0x3030303030303030 in ?? ()
#971 0x3030303030303030 in ?? ()
#972 0x3030303030303030 in ?? ()
#973 0x3030303030303030 in ?? ()
---Type <return> to continue, or q <return> to quit---
#974 0x3030303030303030 in ?? ()
Cannot access memory at address 0x7ffffffff000
(gdb)


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
@ 2011-02-08 10:44 ` dominiq at lps dot ens.fr
  2011-02-08 12:51 ` jvdelisle at gcc dot gnu.org
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: dominiq at lps dot ens.fr @ 2011-02-08 10:44 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.02.08 10:40:46
     Ever Confirmed|0                           |1

--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-02-08 10:40:46 UTC ---
I also see it on x86_64-unknown-linux-gnu and x86_64-apple-darwin10.6.0. As
shown by the following test, there is a bus error for the exponents is the
range 127 to 142 (I did not check exponents above 200;-):


        program z
        implicit none

        integer ::i
        real(kind=16) :: q

        do i=1,126
          q=2.0_16**i
          write(*,*)i,q
        end do

        do i=200,143,-1
          q=2.0_16**i
          write(*,*)i,q
        end do

!        write(*,*)'127'
!        q=2.0_16**127
!        write(*,*)i,q

        write(*,*)'142'
        q=2.0_16**142
        write(*,*)i,q

        end program z


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
  2011-02-08 10:44 ` [Bug fortran/47642] " dominiq at lps dot ens.fr
@ 2011-02-08 12:51 ` jvdelisle at gcc dot gnu.org
  2011-02-08 12:54 ` jakub at gcc dot gnu.org
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jvdelisle at gcc dot gnu.org @ 2011-02-08 12:51 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |jvdelisle at gcc dot
                   |                            |gnu.org
         AssignedTo|unassigned at gcc dot       |jvdelisle at gcc dot
                   |gnu.org                     |gnu.org

--- Comment #2 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-02-08 12:40:48 UTC ---
Looks like this is IO related so  will have a look.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
  2011-02-08 10:44 ` [Bug fortran/47642] " dominiq at lps dot ens.fr
  2011-02-08 12:51 ` jvdelisle at gcc dot gnu.org
@ 2011-02-08 12:54 ` jakub at gcc dot gnu.org
  2011-02-08 13:37 ` jvdelisle at gcc dot gnu.org
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-08 12:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-08 12:50:44 UTC ---
    size_t l = c - p;
    memcpy (res + 3, p + 1, l);
    size_t l2 = strlen (c + 1);
    memcpy (res + 2 + l, c + 1, l2);
    memset (res + 2 + l + l2, '0', n - (l + l2) + 1);

p is "174224571863520493293247799005065324265470", thus l is 42, l2 is 0
and n - (l + l2) + 1 is -1.

quadmath_io.c has more issues though, e.g.
void
quadmath_flt128tostr (char *s, size_t size, size_t n, __float128 x)
{
  char buffer[1024];
  memset (buffer, 0, sizeof(buffer));
  format (buffer, x, n);
  memcpy (s, buffer, size);
}
will happily copy garbage over for size > 1024, other buffer overflows will
happen for n > 1024 - epsilon, etc. and there is no reason why we need so many
extra buffers.  At least the one in quadmath_flt128tostr doesn't make sense,
size should be simply passed through down to format and it should make sure it
never overflows the given size.  The other memset in format:
memset (buffer, 0, sizeof(buffer));
should be avoided too, I believe g_Qfmt should return the pointer after the
last character it wrote, or NULL, so for NULL the caller should just clear
buffer[0] and for other value it should clear *g_Qfmt.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (2 preceding siblings ...)
  2011-02-08 12:54 ` jakub at gcc dot gnu.org
@ 2011-02-08 13:37 ` jvdelisle at gcc dot gnu.org
  2011-02-08 14:06 ` jakub at gcc dot gnu.org
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jvdelisle at gcc dot gnu.org @ 2011-02-08 13:37 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #4 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-02-08 13:00:49 UTC ---
Jakub, if you have time to fix this, please do.  It may take me several days to
get to this because of time constraints.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (3 preceding siblings ...)
  2011-02-08 13:37 ` jvdelisle at gcc dot gnu.org
@ 2011-02-08 14:06 ` jakub at gcc dot gnu.org
  2011-02-08 18:28 ` burnus at gcc dot gnu.org
                   ` (19 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-08 14:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-08 14:04:23 UTC ---
The question is how accurrate we expect the n argument to be (e.g. for
#include <quadmath.h>

int
main (void)
{
  char buf[1024];
  int i;
  __float128 f;
  for (i = 1, f = 2; i <= 256; i++, f *= 2)
    quadmath_flt128tostr (buf, sizeof (buf), 40, f);
  return 0;
}
before this ICE g_Qfmt will happily return a string with 42 digits (i.e. 41
digits after decimal point) and the various adjustments format does can e.g.
use just zeros instead of the digits that g_Qfmt could have computed but did
not.

Does anyone have confidence in gdtoa QoI?  I'd personally feel much safer by
just copying over and editting glibc stdio-common/printf_fp.c than fixing up
gdtoa.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (4 preceding siblings ...)
  2011-02-08 14:06 ` jakub at gcc dot gnu.org
@ 2011-02-08 18:28 ` burnus at gcc dot gnu.org
  2011-02-08 20:25 ` jvdelisle at gcc dot gnu.org
                   ` (18 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-02-08 18:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-02-08 18:23:44 UTC ---
(In reply to comment #5)
> Does anyone have confidence in gdtoa QoI?  I'd personally feel much safer by
> just copying over and editting glibc stdio-common/printf_fp.c than fixing up
> gdtoa.

I think one could do so. Actually, I would not mind if one could get completely
rid of gdtoa - the way it does the string-to-__float128 conversion also looks
overly complicated.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (5 preceding siblings ...)
  2011-02-08 18:28 ` burnus at gcc dot gnu.org
@ 2011-02-08 20:25 ` jvdelisle at gcc dot gnu.org
  2011-02-09  0:54 ` mexas at bristol dot ac.uk
                   ` (17 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jvdelisle at gcc dot gnu.org @ 2011-02-08 20:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #7 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-02-08 20:25:12 UTC ---
I am OK with using stdio-common/printf_fp.c as well.  Also, after the 42 digits
we do not need to go further and can chop it maybe with a few zeros padded. At
least gfortran performas rounding directly from the string of digits and there
is a maximum width we use/assume.  I don't have the code in front of me, but 42
sounds about right and for debugging purposes it is helpful to have the string
null terminated so we can insert printf calls to watch what it is doing.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (6 preceding siblings ...)
  2011-02-08 20:25 ` jvdelisle at gcc dot gnu.org
@ 2011-02-09  0:54 ` mexas at bristol dot ac.uk
  2011-02-09  9:03 ` jakub at gcc dot gnu.org
                   ` (16 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: mexas at bristol dot ac.uk @ 2011-02-09  0:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #8 from Anton Shterenlikht <mexas at bristol dot ac.uk> 2011-02-09 00:43:07 UTC ---
With Gerald's patch (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47649)
I got gcc46 installed on FreeBSD sparc64,
and there I don't get segfault:

QOF> uname -a
FreeBSD mech-anton240.men.bris.ac.uk 9.0-CURRENT FreeBSD 9.0-CURRENT #1
r216048: Mon Nov 29 15:19:12 GMT 2010    
root@mech-anton240.men.bris.ac.uk:/usr/obj/usr/src/sys/QOF  sparc64
QOF> cat kind16.f90 
        program z
        implicit none

        real(kind=16) :: q

        q=1.0e39_16

        write(*,*)q
        write(*,*)nearest(q,1.0)
        write(*,*)nearest(q,1.0)-q

        end program z

QOF> gfortran46 -Wl,-rpath=/usr/local/lib/gcc46 kind16.f90
QOF> ./a.out 
  1.00000000000000000000000000000000000E+0039
  1.00000000000000000000000000000000013E+0039
   131072.00000000000000000000000000000      
QOF>


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (7 preceding siblings ...)
  2011-02-09  0:54 ` mexas at bristol dot ac.uk
@ 2011-02-09  9:03 ` jakub at gcc dot gnu.org
  2011-02-12 12:03 ` jakub at gcc dot gnu.org
                   ` (15 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-09  9:03 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-09 08:44:54 UTC ---
On sparc64 obviously libquadmath isn't used and thus it is expected it works
there and has nothing to do with libquadmath - on sparc*/s390* long double is
IEEE quad already, so it is libc job to do the right thing.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (8 preceding siblings ...)
  2011-02-09  9:03 ` jakub at gcc dot gnu.org
@ 2011-02-12 12:03 ` jakub at gcc dot gnu.org
  2011-02-12 12:07 ` jakub at gcc dot gnu.org
                   ` (14 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-12 12:03 UTC (permalink / raw)
  To: gcc-bugs

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.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (9 preceding siblings ...)
  2011-02-12 12:03 ` jakub at gcc dot gnu.org
@ 2011-02-12 12:07 ` jakub at gcc dot gnu.org
  2011-02-12 12:08 ` jakub at gcc dot gnu.org
                   ` (13 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-12 12:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-12 12:06:01 UTC ---
Created attachment 23313
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23313
a.c

I'm attaching a few testcases I've used (well, they aren't suitable for gcc
testsuite because most of them doesn't verify the results, it is just for
eyeballing results and various things depend on how much dumbed down the
implementation needs to be due to target limitations).

In this testcase (and others) of course the tests with Q modifier used in
*printf family function other than quadmath_snprintf are meant to actually work
only on recent glibcs.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (10 preceding siblings ...)
  2011-02-12 12:07 ` jakub at gcc dot gnu.org
@ 2011-02-12 12:08 ` jakub at gcc dot gnu.org
  2011-02-12 12:10 ` jakub at gcc dot gnu.org
                   ` (12 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-12 12:08 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-12 12:07:11 UTC ---
Created attachment 23314
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23314
b.c

Testcase from the *.texi.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (11 preceding siblings ...)
  2011-02-12 12:08 ` jakub at gcc dot gnu.org
@ 2011-02-12 12:10 ` jakub at gcc dot gnu.org
  2011-02-12 12:49 ` jakub at gcc dot gnu.org
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-12 12:10 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-12 12:08:06 UTC ---
Created attachment 23315
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23315
c.c

Testcase from stripped down glibc stdio-common/tst-printf.c.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (12 preceding siblings ...)
  2011-02-12 12:10 ` jakub at gcc dot gnu.org
@ 2011-02-12 12:49 ` jakub at gcc dot gnu.org
  2011-02-12 14:57 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-12 12:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-12 12:13:51 UTC ---
Created attachment 23316
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23316
d.c

Testcase for the localization stuff.  Strangely the farsi output for %Ie looks
garbled, while %IQe looks correct.  Perhaps something still needs to be fixed
up in the wide handling.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (13 preceding siblings ...)
  2011-02-12 12:49 ` jakub at gcc dot gnu.org
@ 2011-02-12 14:57 ` jakub at gcc dot gnu.org
  2011-02-14 11:52 ` dominiq at lps dot ens.fr
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-12 14:57 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-12 14:17:26 UTC ---
Created attachment 23318
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23318
gcc46-pr47642-2.patch

Incremental patch to fix also wprintf/etc. (wide orientation) and %IQe.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (14 preceding siblings ...)
  2011-02-12 14:57 ` jakub at gcc dot gnu.org
@ 2011-02-14 11:52 ` dominiq at lps dot ens.fr
  2011-02-14 11:57 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: dominiq at lps dot ens.fr @ 2011-02-14 11:52 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #16 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-02-14 11:28:32 UTC ---
I have applied the patches in attachments 23312 and 23318 on top of revision
170124 on x86_64-apple-darwin10. I did not do a full bootstrap, but touched the
files in gcc/fortran and removed the libquadmath directories and updated the
build (I think it is enough for testing the patches). The updated build went
without hiccup, but did not fixed the gfortran side of this PR (I think it
expected from comment #10: "I haven't changed libgfortran yet to use it") and
the c.c test in attachment 23315 gives

...
Qe should be 1.234568e+06
Qf should be 1234567.800000
Qg should be 1.23457e+06
Qg should be 123.456
Qg should be 1e+06
Qg should be 10
Qg should be 0.02
--- Should be no further output. ---
got: '    Qf', expected: '   33'
got: '       Qe', expected: '   3e+08'
got: '       QE', expected: '   3E+08'
got: 'Qg', expected: '3e+01'
got: 'QG', expected: '3E+01'
got: 'Qg', expected: '3'
got: 'QG', expected: '3'
got: '      QG', expected: '      3'
got: '12345           1234    11145401322                                      
                         ', expected: '   12345  1234    11145401322    
321.765432   3.217654e+02   5    test-string'


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (15 preceding siblings ...)
  2011-02-14 11:52 ` dominiq at lps dot ens.fr
@ 2011-02-14 11:57 ` jakub at gcc dot gnu.org
  2011-02-14 12:56 ` dominiq at lps dot ens.fr
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-14 11:57 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #23312|0                           |1
        is obsolete|                            |
  Attachment #23318|0                           |1
        is obsolete|                            |

--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-14 11:51:24 UTC ---
Created attachment 23335
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23335
gcc46-pr47642.patch

Updated patch, which includes libgfortran changes too, removes unneeded parts
of gdtoa and fixes CHAR_MAX stuff for -funsigned-char defaulting targets.  This
includes stuff from -2 patch above too.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (16 preceding siblings ...)
  2011-02-14 11:57 ` jakub at gcc dot gnu.org
@ 2011-02-14 12:56 ` dominiq at lps dot ens.fr
  2011-02-14 14:34 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: dominiq at lps dot ens.fr @ 2011-02-14 12:56 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #18 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-02-14 12:51:48 UTC ---
> Created attachment 23335 [details]
> gcc46-pr47642.patch

AFAICT this patch fixes the gfortran side. What are the expected outputs for
the C tests in attachments 23313 to 23316?


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (17 preceding siblings ...)
  2011-02-14 12:56 ` dominiq at lps dot ens.fr
@ 2011-02-14 14:34 ` jakub at gcc dot gnu.org
  2011-02-14 15:35 ` dominiq at lps dot ens.fr
                   ` (5 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-14 14:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-14 14:29:12 UTC ---
THe output depends.  I get:
1.234500e+06
1.234500e+06
    333333.3333333333333
    333333.3333333333333
1.7
1.7
1.7e+36
1.7e+36
0x1.2d644p+20
0x1.2d644p+20
   0X1.4585555555555P+18
   0X1.4585555555555P+18
0x1.b333333333333333333333333333p+0
0x1.b333333333333p+0
0X1.476878AP+120
0X1.476878AP+120
1.234500e+06
    333333.3333333333333
1.7
1.7e+36
0x1.2d644p+20
   0X1.4585555555555P+18
0x1.b333333333333333333333333333p+0
0X1.476878AP+120
for the 23313 testcase and
12340000000000.100000
12340000000000.100000
12,340,000,000,000.100000
12,340,000,000,000.100000
12.340.000.000.000,100000
12.340.000.000.000,100000
12 340 000 000 000,100000
12 340 000 000 000,100000
1.234000e+13
1.234000e+13
۱٫۲۳۴۰۰۰e+۱۳
۱٫۲۳۴۰۰۰e+۱۳
for the 23316 testcase.  But, the first part of the 23313 testcase relies on
printf hook support which is not present on targets other than Linux, so
you'll see there something different (e.g. %Qe etc. instead, for odd lines),
only the second part which uses quadmath_snprintf should be the same.

And the 23316 testcase is a testcase for localization, which you likely don't
have either (and is not written to use quadmath_snprintf anyway).


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (18 preceding siblings ...)
  2011-02-14 14:34 ` jakub at gcc dot gnu.org
@ 2011-02-14 15:35 ` dominiq at lps dot ens.fr
  2011-02-14 15:45 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: dominiq at lps dot ens.fr @ 2011-02-14 15:35 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #20 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-02-14 15:32:50 UTC ---
For the 23313 testcase (which requires -L/opt/gcc/gcc4.6w/lib -lquadmath) I get

Qe
1.234500e+06
                       Qf
    333333.3333333333333
Qg
1.7
Qg
1.7e+36
Qa
0x1.2d644p+20
                       QA
   0X1.4585555555555P+18
Qa
0x1.b333333333333p+0
QA
0X1.476878AP+120
1.234500e+06
    333333.3333333333333
1.7
1.7e+36
0x1.2d644p+20
   0X1.4585555555555P+18
0x1.b333333333333333333333333333p+0
0X1.476878AP+120

For the 23316 testcase (which does not require -L/opt/gcc/gcc4.6w/lib
-lquadmath) I get

Qf
12340000000000.100000
Qf
12,340,000,000,000.100000
Qf
12340000000000,100000
Qf
12 340 000 000 000,100000
IQe
ILe
IQe
Ie


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (19 preceding siblings ...)
  2011-02-14 15:35 ` dominiq at lps dot ens.fr
@ 2011-02-14 15:45 ` jakub at gcc dot gnu.org
  2011-02-17 13:42 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-14 15:45 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-14 15:34:52 UTC ---
Author: jakub
Date: Mon Feb 14 15:34:44 2011
New Revision: 170135

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170135
Log:
    PR fortran/47642
    * libquadmath.texi (quadmath_snprintf): Document.
    (quadmath_flt128tostr): Remove.
    * Makefile.am (libquadmath_la_SOURCES): Add printf/*.c.
    Remove  quadmath_io.c, gdtoa/gdtoa.c, gdtoa/g__fmt.c,
    gdtoa/g_Qfmt.c, gdtoa/dmisc.c and gdtoa/ulp.c.
    * quadmath.h (quadmath_snprintf): New prototype.
    (quadmath_flt128tostr): Remove.
    * quadmath_weak.h (quadmath_snprintf): Add.
    (quadmath_flt128tostr): Remove.
    * configure.ac: New AC_CHECK_HEADERS headers: langinfo.h, wchar.h,
    wctype.h, limits.h, ctype.h, printf.h, errno.h.
    (AC_USE_SYSTEM_EXTENSIONS): Add.
    (HAVE_HIDDEN_VISIBILITY, HAVE_PRINTF_HOOKS,
    USE_LOCALE_SUPPORT, USE_I18N_NUMBER_H): New checks.
    * quadmath.map (QUADMATH_1.0): Add quadmath_snprintf.  Remove
    quadmath_flt128tostr.
    * printf/printf_fphex.c: New file.
    * printf/_itowa.h: New file.
    * printf/mul_n.c: New file.
    * printf/quadmath-printf.h: New file.
    * printf/submul_1.c: New file.
    * printf/quadmath-printf.c: New file.
    * printf/gmp-impl.h: New file.
    * printf/lshift.c: New file.
    * printf/fpioconst.h: New file.
    * printf/add_n.c: New file.
    * printf/cmp.c: New file.
    * printf/sub_n.c: New file.
    * printf/mul.c: New file.
    * printf/divrem.c: New file.
    * printf/addmul_1.c: New file.
    * printf/printf_fp.c: New file.
    * printf/_itoa.h: New file.
    * printf/fpioconst.c: New file.
    * printf/_i18n_number.h: New file.
    * printf/flt1282mpn.c: New file.
    * printf/rshift.c: New file.
    * printf/mul_1.c: New file.
    * quadmath_io.c: Removed.
    * gdtoa/gdtoa.c: Removed.
    * gdtoa/g__fmt.c: Removed.
    * gdtoa/g_Qfmt.c: Removed.
    * gdtoa/dmisc.c: Removed.
    * gdtoa/ulp.c: Removed.
    * config.h.in: Regenerated.
    * configure: Regenerated.
    * Makefile.in: Regenerated.

    * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
    quadmath_flt128tostr.
    * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
    of quadmath_flt128tostr.

Added:
    trunk/libquadmath/printf/
    trunk/libquadmath/printf/_i18n_number.h
    trunk/libquadmath/printf/_itoa.h
    trunk/libquadmath/printf/_itowa.h
    trunk/libquadmath/printf/add_n.c
    trunk/libquadmath/printf/addmul_1.c
    trunk/libquadmath/printf/cmp.c
    trunk/libquadmath/printf/divrem.c
    trunk/libquadmath/printf/flt1282mpn.c
    trunk/libquadmath/printf/fpioconst.c
    trunk/libquadmath/printf/fpioconst.h
    trunk/libquadmath/printf/gmp-impl.h
    trunk/libquadmath/printf/lshift.c
    trunk/libquadmath/printf/mul.c
    trunk/libquadmath/printf/mul_1.c
    trunk/libquadmath/printf/mul_n.c
    trunk/libquadmath/printf/printf_fp.c
    trunk/libquadmath/printf/printf_fphex.c
    trunk/libquadmath/printf/quadmath-printf.c
    trunk/libquadmath/printf/quadmath-printf.h
    trunk/libquadmath/printf/rshift.c
    trunk/libquadmath/printf/sub_n.c
    trunk/libquadmath/printf/submul_1.c
Removed:
    trunk/libquadmath/gdtoa/dmisc.c
    trunk/libquadmath/gdtoa/g_Qfmt.c
    trunk/libquadmath/gdtoa/g__fmt.c
    trunk/libquadmath/gdtoa/gdtoa.c
    trunk/libquadmath/gdtoa/ulp.c
    trunk/libquadmath/quadmath_io.c
Modified:
    trunk/libgfortran/ChangeLog
    trunk/libgfortran/io/transfer128.c
    trunk/libgfortran/io/write_float.def
    trunk/libquadmath/ChangeLog
    trunk/libquadmath/Makefile.am
    trunk/libquadmath/Makefile.in
    trunk/libquadmath/config.h.in
    trunk/libquadmath/configure
    trunk/libquadmath/configure.ac
    trunk/libquadmath/libquadmath.texi
    trunk/libquadmath/quadmath.h
    trunk/libquadmath/quadmath.map
    trunk/libquadmath/quadmath_weak.h


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (20 preceding siblings ...)
  2011-02-14 15:45 ` jakub at gcc dot gnu.org
@ 2011-02-17 13:42 ` jakub at gcc dot gnu.org
  2011-02-17 14:25 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-17 13:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #22 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-17 13:41:23 UTC ---
Created attachment 23381
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23381
gcc46-strtoflt128.patch

To shorten up the agony of gdtoa, here is a patch to yank it and replace even
the str to __float128 code by glibc code.  The .text of libquadmath.so.0
shrinks (because quite a bit (mpn) can be shared with the printf stuff).


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (21 preceding siblings ...)
  2011-02-17 13:42 ` jakub at gcc dot gnu.org
@ 2011-02-17 14:25 ` jakub at gcc dot gnu.org
  2014-04-16 15:46 ` mexas at bristol dot ac.uk
  2014-04-17  6:53 ` ubizjak at gmail dot com
  24 siblings, 0 replies; 26+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-17 14:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-17 13:42:32 UTC ---
Created attachment 23382
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23382
tst-strtod.c

Testcase for strtoflt128 (adapted from glibc/stdlib/tst-strtod.c).


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (22 preceding siblings ...)
  2011-02-17 14:25 ` jakub at gcc dot gnu.org
@ 2014-04-16 15:46 ` mexas at bristol dot ac.uk
  2014-04-17  6:53 ` ubizjak at gmail dot com
  24 siblings, 0 replies; 26+ messages in thread
From: mexas at bristol dot ac.uk @ 2014-04-16 15:46 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

--- Comment #25 from Anton Shterenlikht <mexas at bristol dot ac.uk> ---
yes, seems to work ok on amd64 FreeBSD gcc47, 48, 49


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Bug fortran/47642] real(kind=16) - libquadmath - segfault on amd64 FreeBSD
  2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
                   ` (23 preceding siblings ...)
  2014-04-16 15:46 ` mexas at bristol dot ac.uk
@ 2014-04-17  6:53 ` ubizjak at gmail dot com
  24 siblings, 0 replies; 26+ messages in thread
From: ubizjak at gmail dot com @ 2014-04-17  6:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47642

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #26 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Anton Shterenlikht from comment #25)
> yes, seems to work ok on amd64 FreeBSD gcc47, 48, 49

Fixed then.
>From gcc-bugs-return-449230-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Apr 17 07:19:13 2014
Return-Path: <gcc-bugs-return-449230-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 13422 invoked by alias); 17 Apr 2014 07:19:12 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 13385 invoked by uid 48); 17 Apr 2014 07:19:09 -0000
From: "anton at samba dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug go/60870] go interface methods broken on ppc64le (bug296.go)
Date: Thu, 17 Apr 2014 07:19:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: go
X-Bugzilla-Version: 4.10.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: anton at samba dot org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: ian at airs dot com
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-60870-4-aVCPqXKkqV@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-60870-4@http.gcc.gnu.org/bugzilla/>
References: <bug-60870-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-04/txt/msg01250.txt.bz2
Content-length: 1120

http://gcc.gnu.org/bugzilla/show_bug.cgi?id`870

--- Comment #1 from Anton Blanchard <anton at samba dot org> ---
I just realised I gave a git commit id from the mirror. The ChangeLog entry is:

+2014-04-14  Chris Manghane  <cmang@google.com>
+
+       * go-gcc.cc: Include "convert.h".
+       (Gcc_backend::string_constant_expression): New function.
+       (Gcc_backend::real_part_expression): Likewise.
+       (Gcc_backend::imag_part_expression): Likewise.
+       (Gcc_backend::complex_expression): Likewise.
+       (Gcc_backend::constructor_expression): Likewise.
+       (Gcc_backend::array_constructor_expression): Likewise.
+       (Gcc_backend::pointer_offset_expression): Likewise.
+       (Gcc_backend::array_index_expression): Likewise.
+       (Gcc_backend::call_expression): Likewise.
+       (Gcc_backend::exception_handler_statement): Likewise.
+       (Gcc_backend::function_defer_statement): Likewise.
+       (Gcc_backend::function_set_parameters): Likewise.
+       (Gcc_backend::function_set_body): Likewise.
+       (Gcc_backend::convert_expression): Handle various type
+       conversions.


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2014-04-17  6:53 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-08  9:56 [Bug fortran/47642] New: real(kind=16) - libquadmath - segfault on amd64 FreeBSD mexas at bristol dot ac.uk
2011-02-08 10:44 ` [Bug fortran/47642] " dominiq at lps dot ens.fr
2011-02-08 12:51 ` jvdelisle at gcc dot gnu.org
2011-02-08 12:54 ` jakub at gcc dot gnu.org
2011-02-08 13:37 ` jvdelisle at gcc dot gnu.org
2011-02-08 14:06 ` jakub at gcc dot gnu.org
2011-02-08 18:28 ` burnus at gcc dot gnu.org
2011-02-08 20:25 ` jvdelisle at gcc dot gnu.org
2011-02-09  0:54 ` mexas at bristol dot ac.uk
2011-02-09  9:03 ` jakub at gcc dot gnu.org
2011-02-12 12:03 ` jakub at gcc dot gnu.org
2011-02-12 12:07 ` jakub at gcc dot gnu.org
2011-02-12 12:08 ` jakub at gcc dot gnu.org
2011-02-12 12:10 ` jakub at gcc dot gnu.org
2011-02-12 12:49 ` jakub at gcc dot gnu.org
2011-02-12 14:57 ` jakub at gcc dot gnu.org
2011-02-14 11:52 ` dominiq at lps dot ens.fr
2011-02-14 11:57 ` jakub at gcc dot gnu.org
2011-02-14 12:56 ` dominiq at lps dot ens.fr
2011-02-14 14:34 ` jakub at gcc dot gnu.org
2011-02-14 15:35 ` dominiq at lps dot ens.fr
2011-02-14 15:45 ` jakub at gcc dot gnu.org
2011-02-17 13:42 ` jakub at gcc dot gnu.org
2011-02-17 14:25 ` jakub at gcc dot gnu.org
2014-04-16 15:46 ` mexas at bristol dot ac.uk
2014-04-17  6:53 ` ubizjak at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).