------- Additional Comments From paulthomas2 at wanadoo dot fr  2005-08-03 
07:54 -------
(In reply to comment #11)
> Patch posted here: http://gcc.gnu.org/ml/fortran/2005-06/msg00307.html

This is still not complete.  The example below produces separate unions, which 
represent the equivalences, in sub1 and sub2.  They need to be promoted to a 
more elevated namespace AND declared external, so that loaded procedures also 
pick up the same union.  The COMMON code is mostly OK, so I will be applying 
that to module equivalences.  I'm on to it, as promised on the list.....

Paul T

module equiv
  real       ::  x(10), y(2)
  equivalence (y(1), x(5))
end module equiv

subroutine sub1 ()
  use equiv
  x =(/(real (i), i = 1,10)/)
end subroutine sub1

subroutine sub2 ()
  use equiv
  print *, y
end subroutine sub2

program test_equiv
  call sub1 ()
  call sub2 ()
end program test_equiv



-- 


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

Reply via email to