diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-07-13 02:16:29 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-07-13 02:16:29 +0000 |
commit | b1743e3754feb057b0019d46b1aadbd571afe657 (patch) | |
tree | af73fc9fc52e5a4fab3dad8642d5b51e471b2bd2 /gcc | |
parent | c7421e06ca1de11fa125ed9d8619680d17bfb6f8 (diff) | |
download | gcc-b1743e3754feb057b0019d46b1aadbd571afe657.zip gcc-b1743e3754feb057b0019d46b1aadbd571afe657.tar.gz gcc-b1743e3754feb057b0019d46b1aadbd571afe657.tar.bz2 |
re PR fortran/37077 (Implement Internal Unit I/O for character KIND=4)
2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37077
* gfortran.dg/char4_iunit_1.f03: New test.
From-SVN: r162124
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/char4_iunit_1.f03 | 32 |
2 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 94f7e77..6b69a63 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/37077 + * gfortran.dg/char4_iunit_1.f03: New test. + 2010-07-12 Jakub Jelinek <jakub@redhat.com> * gcc.dg/tree-ssa/vrp53.c: New test. diff --git a/gcc/testsuite/gfortran.dg/char4_iunit_1.f03 b/gcc/testsuite/gfortran.dg/char4_iunit_1.f03 new file mode 100644 index 0000000..98e5cdd --- /dev/null +++ b/gcc/testsuite/gfortran.dg/char4_iunit_1.f03 @@ -0,0 +1,32 @@ +! { dg-do run } +! PR37077 Implement Internal Unit I/O for character KIND=4 +! Test case prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org> +program char4_iunit_1 + implicit none + character(kind=4,len=42) :: string + integer(kind=4) :: i,j + real(kind=4) :: inf, nan, large + + large = huge(large) + inf = 2 * large + nan = 0 + nan = nan / nan + + string = 4_"123456789x" + write(string,'(a11)') 4_"abcdefg" + if (string .ne. 4_" abcdefg ") call abort + write(string,*) 12345 + if (string .ne. 4_" 12345 ") call abort + write(string, '(i6,5x,i8,a5)') 78932, 123456, "abc" + if (string .ne. 4_" 78932 123456 abc ") call abort + write(string, *) .true., .false. , .true. + if (string .ne. 4_" T F T ") call abort + write(string, *) 1.2345e-06, 4.2846e+10_8 + if (string .ne. 4_" 1.23450002E-06 42846000000.000000 ") call abort + write(string, *) nan, inf + if (string .ne. 4_" NaN +Infinity ") call abort + write(string, '(10x,f3.1,3x,f9.1)') nan, inf + if (string .ne. 4_" NaN +Infinity ") call abort + write(string, *) (1.2, 3.4 ) + if (string .ne. 4_" ( 1.2000000 , 3.4000001 ) ") call abort +end program char4_iunit_1 |