From 999a06a0da6405ea441a5079733906ffd3a441d4 Mon Sep 17 00:00:00 2001 From: Thomas Koenig Date: Sat, 9 Jul 2005 09:33:31 +0000 Subject: [multiple changes] 2005-07-07 Francois-Xavier Coudert Thomas Koenig PR libfortran/22217 * io/write.c (extract_unit): New function; extract ints as unsigned signed int of the correct size. * io/write.c (write_int): Use it. * runtime/error.c: Adjust copyright years. Adjust size of buffer to maximum that can occur. 2005-07-07 Thomas Koenig PR libfortran/22217 * gfortran.dg/negative-z-descriptor.f90: New test. From-SVN: r101829 --- gcc/testsuite/ChangeLog | 5 ++++ .../gfortran.dg/negative-z-descriptor.f90 | 27 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/negative-z-descriptor.f90 (limited to 'gcc/testsuite') diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f61b473..7717a13 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-07-09 Thomas Koenig + + PR libfortran/22217 + * gfortran.dg/negative-z-descriptor.f90: New test. + 2005-07-08 Andrew Pinski PR tree-opt/22329 diff --git a/gcc/testsuite/gfortran.dg/negative-z-descriptor.f90 b/gcc/testsuite/gfortran.dg/negative-z-descriptor.f90 new file mode 100644 index 0000000..1ad3a32 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/negative-z-descriptor.f90 @@ -0,0 +1,27 @@ +! { dg-do run } +! PR 22217: Z edit descriptor with negative numbers used to give lots of * + +program main + character(len=70) line + character(len=20) fmt + write(unit=line,fmt='(Z4)') -1_1 + if (line(1:4) .ne. ' FF') call abort + write(unit=line,fmt='(Z5)') -1_2 + if (line(1:5) .ne. ' FFFF') call abort + write(unit=line,fmt='(Z9)') -1_4 + if (line(1:9) .ne. ' FFFFFFFF') call abort + write(unit=line,fmt='(Z17)') -2_8 + if (line(1:17) .ne. ' FFFFFFFFFFFFFFFE') call abort + write(unit=line,fmt='(Z2)') 10_8 + if (line(1:2) .ne. ' A') call abort + + write(unit=line,fmt='(Z8)') -43_8 + if (line(1:1) .ne. '*') call abort + + write(unit=line,fmt='(B65)') -1_8 + if (line(1:2) .ne. ' 1') call abort + if (line(64:66) .ne. '11 ') call abort + + write(unit=line,fmt='(O4)') -2_1 + if (line(1:4) .ne. ' 376') call abort +end -- cgit v1.1