------- 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

Reply via email to