User account creation filtered due to spam.
integer :: i, j
end type a
interface operator (==)
module procedure equal_a
end interface operator (==)
elemental function equal_a (x,y) result (same)
class (a), intent(in) :: x, y
logical :: same
if ( x%i == y%i .and. x%j == y%j ) then
same = .TRUE.
same = .FALSE.
end function equal_a
end module stuff
type (a), dimension(10) :: h
type (a) :: g
integer :: i
if ( any(h == g) ) then
end program bugtest
ICEs on the trunk as well as 4.6 branch.
This usage requires support for polymorphic arrays - or at least the scalarizer needs to be able to handle this, which is part of the work Paul did.
Latest publicly available version of Paul's patch:
At least with the version I have, it works. The patch will be submitted in soon; there are still some small issues which should be fixed before it is submitted.
FIXED on the 4.7 trunk by the patch for PR 41539 (Rev. 182210).