[flang-commits] [flang] [flang][runtime] Fix SAME_TYPE_AS()/EXTENDS_TYPE_OF() for CLASS(*) (PR #67727)

Peter Klausler via flang-commits flang-commits at lists.llvm.org
Thu Sep 28 13:18:19 PDT 2023


================
@@ -130,15 +130,17 @@ void RTNAME(AllocatableApplyMold)(
     // 9.7.1.3 Return so the error can be emitted by AllocatableAllocate.
     return;
   }
+  auto *descAddendum{descriptor.Addendum()};
   descriptor = mold;
   descriptor.set_base_addr(nullptr);
   descriptor.raw().attribute = CFI_attribute_allocatable;
   descriptor.raw().rank = rank;
-  if (auto *descAddendum{descriptor.Addendum()}) {
-    if (const auto *moldAddendum{mold.Addendum()}) {
-      if (const auto *derived{moldAddendum->derivedType()}) {
-        descAddendum->set_derivedType(derived);
-      }
+  if (descAddendum) {
+    if (mold.Addendum()) {
+      // it was copied by operator=() above
+    } else {
+      descriptor.raw().f18Addendum = true;
+      descAddendum->set_derivedType(nullptr);
----------------
klausler wrote:

Sure

https://github.com/llvm/llvm-project/pull/67727


More information about the flang-commits mailing list