aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2010-07-13 02:16:29 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2010-07-13 02:16:29 +0000
commitb1743e3754feb057b0019d46b1aadbd571afe657 (patch)
treeaf73fc9fc52e5a4fab3dad8642d5b51e471b2bd2 /gcc
parentc7421e06ca1de11fa125ed9d8619680d17bfb6f8 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/char4_iunit_1.f0332
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