llvm-project
10a9ec88 - [flang] Fix crash in structure constructor lowering (#160769)

Commit
3 days ago
[flang] Fix crash in structure constructor lowering (#160769) MLIR types created by lowering for structure constructors appear to be sensitive to the ordering of their components in the typed expression representation used for structure constructors and derived type constant values. At present, the components appear in source position order. When some ancestral types are defined in modules, this ordering can cause their components to be ordered after components defined in extended derived types. This can lead to crashes from incompatible MLIR types. To avoid this issue, sort structure constructor components first in ascending order of derived type extension depth; retain source position ordering for components in the same derived type and for error recovery situations. Fixes https://github.com/llvm/llvm-project/issues/143740.
Author
Parents
Loading