diff options
Diffstat (limited to 'flang/lib/Lower/CallInterface.cpp')
-rw-r--r-- | flang/lib/Lower/CallInterface.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/flang/lib/Lower/CallInterface.cpp b/flang/lib/Lower/CallInterface.cpp index 510cb60..d482859 100644 --- a/flang/lib/Lower/CallInterface.cpp +++ b/flang/lib/Lower/CallInterface.cpp @@ -797,6 +797,12 @@ private: Fortran::common::TypeCategory cat = dynamicType.category(); // DERIVED if (cat == Fortran::common::TypeCategory::Derived) { + // TODO is kept under experimental flag until feature is complete. + if (dynamicType.IsPolymorphic() && + !getConverter().getLoweringOptions().isPolymorphicTypeImplEnabled()) + TODO(interface.converter.getCurrentLocation(), + "support for polymorphic types"); + if (dynamicType.IsUnlimitedPolymorphic()) return mlir::NoneType::get(&mlirContext); return getConverter().genType(dynamicType.GetDerivedTypeSpec()); |