[Bug fortran/28526] 'end' is recognized as a variable incorrectly

tobi at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Sep 14 10:59:00 GMT 2006



------- Comment #4 from tobi at gcc dot gnu dot org  2006-09-14 10:59 -------
The difference is that 'end' appears in other contexts, see e.g. the difference
between these two testcases:
schluter@pcl247d:~/src/pr/28526> cat t.f90
module m
  public function

  interface function
     module procedure foo4
  end interface


contains
  subroutine foo4
  end subroutine foo4

!  function foo5
!    foo5 = 0
!  end function foo5

end module
schluter@pcl247d:~/src/pr/28526> ~/src/gcc/build/gcc/f951 t.f90
 foo4
Execution times (seconds)
 TOTAL                 :   0.00             0.01             0.02              
 632 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
schluter@pcl247d:~/src/pr/28526> cat t.f90
module m
  public function

  interface function
     module procedure foo4
  end interface


contains
  subroutine foo4
  end subroutine foo4

  function foo5
    foo5 = 0
  end function foo5

end module
schluter@pcl247d:~/src/pr/28526> ~/src/gcc/build/gcc/f951 t.f90
 In file t.f90:13

  function foo5
         1
Error: Expected VARIABLE at (1)
 In file t.f90:14

    foo5 = 0
       1
Error: Symbol 'foo5' at (1) has already been host associated
 In file t.f90:15

  end function foo5
    1
Error: Expecting END MODULE statement at (1)

Execution times (seconds)
 TOTAL                 :   0.00             0.00             0.03              
 622 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
schluter@pcl247d:~/src/pr/28526> 

The symptoms in the original testcase can also be produced by e.g. replacing
'end' by 'module'.


-- 


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



More information about the Gcc-bugs mailing list