------- Comment #1 from eedelman at gcc dot gnu dot org  2005-11-25 15:37 
-------
Confirmed.  

A few comments:

Since the subroutine foo isn't called, we can't expect any output.  If,
however, we add a the line

call foo(a)

after the line

a(1:4) = 1

we still don't get any output (or, to be precise, we get an empty line).  In
any case, the pointer assignment shouldn't be allowed, since no size
information is available for the dummy m (p => m(1:4) would be OK).

A similar problem occours is if we have code like

program ptrtest
  implicit none
  integer a(4)

  a(1:4) = 1
  call foo(a)

contains

subroutine foo(m)
    integer, target :: m(*)
    integer :: p

    p = sum(m)

    print *, p
end subroutine
end program

Again, gfortran should print an errormessage, but doesn't (running the
executable prints 0).


-- 

eedelman at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |diagnostic
   Last reconfirmed|0000-00-00 00:00:00         |2005-11-25 15:37:41
               date|                            |


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

Reply via email to