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,13 @@ } } raw_.rank = newRank; + if (const auto *sourceAddendum = source.Addendum()) { + if (auto *addendum{Addendum()}) { + *addendum = *sourceAddendum; + } else { + return false; + } + } return CFI_section(&raw_, &source.raw_, lower, upper, stride) == CFI_SUCCESS; }