TYPE IS and CLASS IS guards in SELECT TYPE constructs are
allowed to specify the same type as the type of the selector
but f18's implementation of that predicate required strict
equality of the derived type representations. We need to
allow for assumed values of LEN type parameters to match
explicit and deferred type parameter values in the selector
and require equality for KIND type parameters. Implement
DerivedTypeSpec::Match() to perform this more relaxed type
comparison, and use it in check-select-type.cpp.
Details
Details
- Reviewers
vdonaldson - Commits
- rG142cbd500b1a: [flang] Fix TYPE/CLASS IS (T(...)) in SELECT TYPE
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo