To: J3 07-247
From: Jim Xia
Subject: Interpretation: Procedure characteristics and unlimited
polymorphic
Date: 2007 July 11
NUMBER: F03/0092
TITLE: Procedure characteristics and unlimited polymorphic
KEYWORDS: Procedure, unlimited polymorphic
DEFECT TYPE: Error
STATUS: Erratum
QUESTION:
Consider
abstract interface
function foo (x)
class(*) x
class(*), pointer :: foo
end function
end interface
procedure (foo), pointer :: proc_ptr
procedure (foo) proc_tgt
proc_ptr => proc_tgt
According to the rules of procedure pointer assignment at [144:39-41],
proc_ptr and proc_tgt are required to have the same interface
characteristics. However because an unlimited polymorphic entity is not
considered to have a declared type, the rules for characteristics of
dummy data objects [256:26-32] and characteristics of function
results [257:2-8] are not applicable. In addition, rules at [145:5-6]
require that proc_ptr and proc_tgt have the same function return type.
This also does not apply to unlimited polymorphic data.
Is the example intended to be standard-conforming?
ANSWER:
Yes, the example was intended to be standard-conforming.
An edit is provided to clarify this.
EDITS to 04-007:
[145:5] After "the same type" insert " or both unlimited polymorphic"
[256:29] After "polymorphic," insert "whether it is unlimited polymorphic,"
[257:2-3]After "polymorphic," insert "whether it is unlimited polymorphic,"
SUBMITTED BY: Jim Xia
HISTORY: m181 Submitted