diff --git a/flang/runtime/descriptor.cpp b/flang/runtime/descriptor.cpp --- a/flang/runtime/descriptor.cpp +++ b/flang/runtime/descriptor.cpp @@ -241,6 +241,14 @@ } } raw_.rank = newRank; + if (const auto *sourceAddendum = source.Addendum()) { + auto *addendum = Addendum(); + if (addendum) { + *addendum = *sourceAddendum; + } else { + return false; + } + } return CFI_section(&raw_, &source.raw_, lower, upper, stride) == CFI_SUCCESS; }