OSDN Git Service

2010-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 27 Aug 2010 15:00:11 +0000 (15:00 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 27 Aug 2010 15:00:11 +0000 (15:00 +0000)
PR libfortran/43217
* gfortran.dg/hollerith8.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163588 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/hollerith8.f90 [new file with mode: 0644]

index 1c1dc43..734b2b7 100644 (file)
@@ -1,3 +1,8 @@
+2010-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/43217
+       * gfortran.dg/hollerith8.f90: New test.
+
 2010-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR fortran/45159
diff --git a/gcc/testsuite/gfortran.dg/hollerith8.f90 b/gcc/testsuite/gfortran.dg/hollerith8.f90
new file mode 100644 (file)
index 0000000..65cb681
--- /dev/null
@@ -0,0 +1,26 @@
+! { dg-do run }
+! { dg-options "-std=gnu" }
+! PR43217 Output of Hollerith constants which are not a multiple of 4 bytes
+! Test case prepared from OP by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+program hello2
+  call wrtout (9hHELLO YOU, 9)
+  stop
+end
+
+subroutine wrtout (iarray, nchrs)
+  integer iarray(1)
+  integer nchrs
+
+  integer icpw
+  data icpw/4/
+  integer i, nwrds
+  character(len=33) outstr
+
+  nwrds = (nchrs + icpw - 1) /icpw
+  write(outstr,'(4(z8," "))') (iarray(i), i=1,nwrds)
+  if (outstr.ne."4C4C4548 4F59204F 20202055" .and. &
+ &    outstr.ne."48454C4C 4F20594F 55202020") call abort
+  return
+end
+! { dg-warning "Hollerith constant" "" { target *-*-* } 6 }
+! { dg-warning "Rank mismatch" "" { target *-*-* } 6 }