llvm-project
33cef35b - [flang] Assign sizes & offsets before instantiating some component types (#178927)

Commit
252 days ago
[flang] Assign sizes & offsets before instantiating some component types (#178927) Semantics is instantiating derived types too soon is some cases, leading to incorrect sizes and component offsets in cases of valid forward references to derived types -- these appear in the declarations of allocatable and pointer components. The incorrect size led to a runtime crash in the linked bug report after an insufficient allocation. Since those components are indirect, their sizes in the derived type instantiation can be known without having to recursive instantiate the components' types. Then, after laying out the derived type instantiation, the compiler can then ensure that the components' types are instantiated. Fixes https://github.com/llvm/llvm-project/issues/178786.
Author
Parents
Loading