This is an archive of the discontinued LLVM Phabricator instance.

[flang] Run-time derived type initialization and destruction
ClosedPublic

Authored by klausler on Jul 19 2021, 11:56 AM.

Details

Summary

Use derived type information tables to drive default component
initialization (when needed), component destruction, and calls to
final subroutines. Perform these operations automatically for
ALLOCATE()/DEALLOCATE() APIs for allocatables, automatics, and
pointers. Add APIs for use in lowering to perform these operations
for non-allocatable/automatic non-pointer variables.
Data pointer component initialization supports arbitrary constant
designators, a F'2008 feature, which may be a first for Fortran
implementations.

Diff Detail

Event Timeline

klausler created this revision.Jul 19 2021, 11:56 AM
klausler requested review of this revision.Jul 19 2021, 11:56 AM
jeanPerier accepted this revision.Jul 20 2021, 1:20 AM

Looks great

This revision is now accepted and ready to land.Jul 20 2021, 1:20 AM
This revision was landed with ongoing or failed builds.Jul 20 2021, 3:24 PM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptJul 20 2021, 3:24 PM