aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Lower/CallInterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Lower/CallInterface.cpp')
-rw-r--r--flang/lib/Lower/CallInterface.cpp6
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());