This is the mail archive of the gcc@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] | |
On Dec 17, 2005, at 6:08 AM, FX Coudert wrote:
I'm trying to understand the gfortran failure large_real_kind_2.F90 on ppc-darwin7.9, which can be reduced to:
$ cat large_real_kind_2.F90 real(kind=16) :: x real(8) :: y
x = 1 y = x x = cos (x) y = cos (y) print *, x, y, y-x
end
$ ./usr/local/gfortran/bin/gfortran -g large_real_kind_2.F90 && ./ a.out
0.5403023058681397650104827000000 0.540302305868140 1.9841535727186827560257490000000E-0004
But I can't make a C testcase for that. Is "long double" supposed to be usable on ppc-darwin7.9 ?
The trick is that things like sinl have a linker name like _sinl $LDBL128. This is to enable 8 byte long doubles to continue to work, and _sin is an 8 byte long double routine. Don't ask. Binary compatibility is so very much fun.
Since Geoff invented the scheme, I'm sure he had an idea of how he thought it should work for Fortran. My guess would be that gcc has to pick the right library names internally for all languages, thus, obviating the need for the asm () fun remap the names in C.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |