mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 03:46:46 +00:00

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.
16 lines
494 B
Fortran
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
|