Hello,

We found a quite strange behaviour of the gfortran 4.5.3 for
the following five examples. The first one shows heavily
increasing memomry consuption over runtime.
The error happens during the read command.

The other 4 exmples are okay.

1. example

     program test1
     character*200 test
     REAL*8 vout
     test='NH'
  10 continue
     read (test,*,end=20,err=22) vout
  22 continue
     write(*,*) vout,"  error"
     goto 10
  20 continue
     write(*,*) vout
     goto 10
     end

#output:      6.90740463938966731E-310  .....
#heavily increasing memory

2. example

     program test1
     character*200 test
     integer vout
     test='NH'
  10 continue
     read (test,*,end=20,err=22) vout
  22 continue
     write(*,*) vout,"  error"
     goto 10
  20 continue
     write(*,*) vout
     goto 10
     end

#output: 32750 error ....

3. example

     program test1
     character*200 test
     integer vout
     test='2'
  10 continue
     read (test,*,end=20,err=22) vout
  22 continue
     write(*,*) vout,"  error"
     goto 10
  20 continue
     write(*,*) vout
     goto 10
     end
#output: 2  .....
#memory okay

4. example

     program test1
     character*200 test
     REAL*8 vout
     test='2'
  10 continue
     read (test,*,end=20,err=22) vout
  22 continue
*      write(*,*) vout,"  error"
     goto 10
  20 continue
     write(*,*) vout
     goto 10
     end2.0000000000000000

#output:  2.0000000000000000      .....
#memory okay

5. example

     program test1
     character*200 test
     REAL*8 vout
     test='NH'  10 continue
     read (test,'(F6.4)',end=20,err=22) vout
  22 continue
     write(*,*) vout,"  error"
     goto 10
  20 continue
     write(*,*) vout
     goto 10
     end

#output:      6.94129341886360735E-310   .....
#memory okay

The system is x86_64 running gentoo.

The results didnt change for different libc, gcc versions and also
for different compiler flags.

Can anyone please help? Many thanks!

--
Plänitz
www.matcalc.de

Reply via email to