------- Comment #2 from burnus at gcc dot gnu dot org  2007-04-27 15:47 -------
The program is broken / invalid:

      function lenstr(s)
      character*(*) s
      do 1 l=ll,1,-1
      if (s(l:l).ne.' ') goto 2
1     continue

Question: What value has "ll" ? 0, 325, -4326 ?

Depending on the compiler, anything may happen. Using NAG f95 I simply get a
coredump, using gfortran I got "This should not happen". The Intel compiler
silently sets this number to zero and runs "l = 0, 1, -1". I think neither does
the right thing.

If I add
  ll = 0
all my compilers produce the same result - however meaningless/-full it might
be.

By the way, using Fortran 95, you have the function LEN_TRIM which gives the
string length without tailing blanks.

If there remains another bug, please reopen.


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


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

Reply via email to