------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-16 02:01 ------- First: printf( "sin( 1.2345) = %.30f = %.30f\n", R, R);
Is wrong, as R is pased as a two doubles (as this is the how 128bit long doubles are done in IBM's 128bit format). Second the following shows the correct result: #include <stdio.h> #include <math.h> int main( void ) { long double R; R = sin( 1.2345); printf( "sizeof( long double) = %d\n", sizeof( long double)); printf( "sin( 1.2345) = %.30f = %.30f\n", (double)R, (double)R); return 0; } Fourth 128bit long doubles are not supported at all in 3.4.x for ppc-darwin. Fifth ppc-darwin before 7 really has no support for 128bit long doubles. Sixth this looks like a bug in the pascal front-end and not in the middle-end/target part at all. Closing as invalid as shown above that I get the correct result with 4.0 (as -mlong-double-128 is default on the mainline). -- What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19993