Peter Klausler 3e3855b0e5
[flang] Don't flag CLASS(*) ASSOCIATED() pointer or target as error (#125890)
As I read the standard, an unlimited polymorphic pointer or target
should be viewed as compatible with any data target or data pointer when
used in the two-argument form of the intrinsic function ASSOCIATED().

Fixes https://github.com/llvm/llvm-project/issues/125774.
2025-02-27 14:28:34 -08:00

16 lines
494 B
Fortran

! RUN: %python %S/test_errors.py %s %flang_fc1
type t
end type
real, pointer :: rptr
type(t), pointer :: tptr
class(*), pointer :: ulpp
print *, associated(rptr, ulpp)
print *, associated(ulpp, rptr)
print *, associated(tptr, ulpp)
print *, associated(ulpp, tptr)
!ERROR: Arguments of ASSOCIATED() must be a pointer and an optional valid target
print *, associated(rptr, tptr)
!ERROR: Arguments of ASSOCIATED() must be a pointer and an optional valid target
print *, associated(tptr, rptr)
end