------- Comment #1 from tkoenig at gcc dot gnu dot org  2007-02-25 15:56 -------

> $> gfortran-svn fget.f90 && ./a.out
> x
>  x
> 
> I.e. the string is cleared and the first character is set to the input.
> This also "works" with substrings, e.g. s(3:6). 

> In my eyes I would consider the blanking the bug, not that a string is 
> allowed.
> Consistent behaviour should overwrite the first character, not ALL of them.
> 

This is expected behavior, and is consistent with both g77
(for which we support fget, as a legacy intrinsic)
and with the way that character assignment works.

$ cat fget.f
      character*10 s
      s = '0123456789'
      CALL fget(s)
      write(*,*) s
      s = '0123456789'
      s = 'ab'
      write (*,*) s,'x'
      end
$ g77 fget.f && ./a.out
xxx
 x
 ab        x

> 3. The optional status argument accepts variables of type default integer 
> only.

Fget is a legacy intrinsic, and there are now standard ways
of achieving the same result (stream I/O).  Also, g77 only
accepts default integers as well.

I'd vote for fixing the argument name, and leave the rest alone.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30955

Reply via email to