[flang-commits] [flang] [flang] Fix crash in structure constructor lowering (PR #160769)
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Fri Sep 26 09:25:27 PDT 2025
================
@@ -389,7 +389,49 @@ std::size_t Constant<SomeDerived>::CopyFrom(const Constant<SomeDerived> &source,
return Base::CopyFrom(source, count, resultSubscripts, dimOrder);
}
+static std::optional<int> DerivedTypeDepth(const semantics::Scope &scope) {
+ if (scope.IsDerivedType()) {
+ for (auto iter{scope.cbegin()}; iter != scope.cend(); ++iter) {
+ const Symbol &symbol{*iter->second};
+ if (symbol.test(Symbol::Flag::ParentComp)) {
+ if (const semantics::DeclTypeSpec *type{symbol.GetType()}) {
+ if (const semantics::DerivedTypeSpec *derived{type->AsDerived()}) {
+ const semantics::Scope *parent{derived->scope()};
+ if (!parent) {
----------------
klausler wrote:
Error recovery situations can leave pointers null; our design goal in semantics is to proceed with analysis even after fatal errors.
https://github.com/llvm/llvm-project/pull/160769
More information about the flang-commits
mailing list