https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84778

--- Comment #3 from david.applegate at woodplc dot com ---
Thanks for the reply and the clarification.  

I have two comments to make regarding this if I may...

1) Previous gfortran compilers were happy with the code.  I also tested g95 and
Ifort (admittedly aged versions of both).  Ifort also refused to compile the
code while g95 did compile the code (you may not care I guess).  It is slightly
irritating that gfortran is essentially not backwards compatible with previous
versions.  Maybe gfortran should compile this code unless the users specify one
of the -std=f95/f2003/f2008 switches?

2) What about array declaration? Gfortran 7.3 is happy to compile the following
code, which presumably does not conform to the standard you mention, while
Ifort refuses to compile this code:

program test2

  implicit none
  integer, parameter :: b = 5
  integer :: a(b)

  a = 4

  write(*,*)a

  call testsub(a,b)

contains

  subroutine testsub(a,b)

    ! integer, intent(in) :: b   ! if we put declaration of b here instead it
compiles ok

    integer :: a(b)
    integer, intent(in) :: b  

    write(*,*)a

  end subroutine testsub
end program test2

Reply via email to