Another example attached (
TryingToBeGeneric.f90) that gives an ICE with 11.1.051, which is probably unrelated to the previous one (message is "internal error: Please visit...").
While I've still got your attention... some F2003 polymorphism questions. This example (
TryingToBeSpecificInAnAbstractWay.f90), when compiled with /check:all /warn:all /traceback, compiles, but then dies with an access violation, apparently at the ALLOCATE statement (the very first executable statement of the program proper!). This is a bit disappointing even for me - normally I make it at least ten lines in before everything's gone to pot - so any hints appreciated. Without /check:all /warn:all the crash pops up later.
Second question is around type compatibility of polymorphic dummy and actual arguments. The previous example has an abstract "base" type (AbstractType) and then a "concrete" extension of that type (AbstractTypeExt). There is then a procedure (not a type bound one) that has a "CLASS(AbstractType), INTENT(IN) :: obj" dummy. Quoting from the good PDF... "A polymorphic entity that is not an unlimited polymorphic entity is type compatible with entities of the same type or any of its extensions". As a result, I would have thought that I could poke in a TYPE(AbstractTypeExt) actual argument to that procedure (see commented out statements with !xxx). Under 11.1.51 that doesn't "match" and I have to use the obj%parent syntax to get things to work. Is that just a IVF F2003 implementation-not-there-yet-issue, or an IanH F2003 standard-still-beyond-your-comprehension issue?
Thanks,
IanH