This is the mail archive of the gcc-patches@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]

Propose to XFAIL tests on ppc64


Testing on ppc64 Linux system:

Using:

program elarge
  integer, parameter :: k = 16
  real(kind=k) :: a,b(2)
  character(len=380) :: tmp
  b(:) = huge(0.0_k)
  write (tmp,'(2(1x,g60.52))') b(1)
  read (tmp, *) a
  print '(a)', "01234567890123456789012345678901234567890123456789"
  print '(a)', trim(tmp)
  print '(1p,g60.52)', b(1)
  print '(1p,g60.52)', a
  print *, a
  print '(1p,g60.52)', a-b(1)
  if (a /= b(1)) print *, "no match"
end program elarge

Gives:

 $ ./a.out
01234567890123456789012345678901234567890123456789
   0.8988465674311579538646525953945123668100000000000000+308
  8.9884656743115795386465259539451236681000000000000000+307
  8.9884656743115795386465259539451236681000000000000000+307
  8.9884656743115795386465259539451237E+0307
  1.1079139325602226427183020846172426344000000000000000+276
 no match

I modified gfortran to extend the number of digits converted out to a default width of 85 characters and the a and b(1) outputs match to the extent of the available digits and yet the comparison still fails and the difference is still large.

OK to XFAIL the following for this platform?

default_format_2.f90
default_format_denormal_2.f90
large_real_kind_form_io_2.f90

Regards,

Jerry


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]