On 11/21/25 8:45 AM, Paul Richard Thomas wrote:
Hi All,

I have to confess that I had never spotted the two PDT examples in the F2018 standard. To my horror, they both fail.

The second example involves finalizers of PDTs and is already caught by 104650. I am onto that one as well :-)

A PDT typespec in a function declaration such as;

   CONTAINS
     TYPE(t(single)) FUNCTION real_to_t1(x)
     REAL(single) x
     real_to_t1%value = x
   END FUNCTION

causes gfc_use_derived to emit, "Derived type ‘pdtt_4’ at (1) is being used before it is defined", whereas this;

CONTAINS
   FUNCTION real_to_t1(x)
     TYPE(t(single)) real_to_t1
     REAL(single) x
     real_to_t1%value = x
   END FUNCTION

compiled and ran successfully. The attached patch fixes this problem and is explained by the ChangeLog and the comment in the patch.

Regtest OK on FC43/x86_64. OK for mainline?

Paul

I did not see the patch attached, however I tested it off of bugzilla.

OK from my point of view.

Jerry

Reply via email to