------- Comment #25 from fxcoudert at gcc dot gnu dot org 2008-02-22 10:21 ------- Created an attachment (id=15206) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15206&action=view) Complete patch
That patch builds fine on powerpc-apple-darwin9.2.0. The C compiler generated seems OK: $ cat s.c #include <stdio.h> int main (void) { long double x; double y; x = -0.24; y = x; printf ("%g %g %g\n", (float) __builtin_asinl(x), (float) __builtin_asin(y), (float) (__builtin_asinl(x) - __builtin_asin(y))); } $ ./bin/gcc s.c -mlong-double-64 && ./a.out -0.242366 -0.242366 0 $ nm ./a.out | grep asinl U _asinl $ ./bin/gcc s.c -mlong-double-128 && ./a.out -0.242366 -0.242366 -8.82009e-18 $ nm ./a.out | grep asinl U _asinl$LDBL128 but the Fortran front-end apparently doesn't benefit from it: $ cat s.f90 real(16) :: x real(8) :: y x = -0.24 y = x print *, asin(x), asin(y), asin(x) - asin(y) print *, real(asin(x)), real(asin(y)), real(asin(x) - asin(y)) end $ ./bin/gfortran s.f90 && ./a.out -0.24236584551303838594503263503820989 -0.24236584551303839 0.50000000000000000000000000000000000 -0.24236585 -0.24236585 0.50000000 $ nm a.out | grep asinl U _asinl Another issue is about -mmacosx-version-min. I'm not sure what should happen, but I have the following: $ ./bin/gcc s.c -mmacosx-version-min=10.2.8 && ./a.out -0.242366 -0.242366 -8.82009e-18 $ nm a.out | grep asinl U _asinl$LDBL128 If I understand correctly, this should give _asinl and not the $LDBL128 variant. Any help appreciated. -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #15203|0 |1 is obsolete| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25477