flang-compiler / f18

F18 is a front-end for Fortran intended to replace the existing front-end in the Flang compiler
230 stars 48 forks source link

Support forward references to sibling module procedures #1076

Closed klausler closed 4 years ago

klausler commented 4 years ago

Enable additional instances of ResolveNamesVisitor to be created to recursively handle calls to unresolved functions in specification expressions in an "on demand" fashion.

And improve error message for procedure passed as invalid argument to an intrinsic.

tskeith commented 4 years ago

It would be good to have some tests.

klausler commented 4 years ago

It would be good to have some tests.

The code gets exercised by f90_correct test md102 and f18 test expr-errors02.f90, and I'll add one that's specific to forward-referenced module procedures, esp. with generics.