view gcc/testsuite/gfortran.dg/read_bang.f90 @ 144:8f4e72ab4e11

fix segmentation fault caused by nothing next cur_op to end
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 21:23:56 +0900
parents 84e7813d76e9
children
line wrap: on
line source

! { dg-do run }
! PR69651 Usage of unitialized pointer io/list_read.c 
! Note: The uninitialized pointer was not the cause of the problem
!       observed with this test case. The problem was mishandling '!'
!       See also test case read_bang4.f90.
program test
  implicit none
  integer :: i, j, ios
  real ::  r, s
  complex :: c, d
  character(20) :: str1, str2
  
  i = -5
  j = -6
  r = -3.14
  s = -2.71
  c = (-1.1,-2.2)
  d = (-3.3,-4.4)
  str1 = "candy"
  str2 = "peppermint"
  open(15, status='scratch')
  write(15,*) "10  1!2"
  write(15,*) "  23.5! 34.5"
  write(15,*) "  (67.50,69.25)  (51.25,87.75)!"
  write(15,*) "  'abcdefgh!' '  !klmnopq!'"
  rewind(15)
  read(15,*,iostat=ios) i, j
  if (ios.ne.5010) STOP 1
  read(15,*,iostat=ios) r, s
  if (ios.ne.5010) STOP 2
  read(15,*,iostat=ios) c, d
  if (ios.ne.5010) STOP 3
  read(15,*,iostat=ios) str1, str2
  if (ios.ne.0) STOP 4
  if (str1.ne."abcdefgh!") print *, str1
  if (str2.ne."  !klmnopq!") print *, str2
  close(15)
end program