[all-commits] [llvm/llvm-project] a48e41: [flang] Run-time derived type initialization and d...

Peter Klausler via All-commits all-commits at lists.llvm.org
Tue Jul 20 15:24:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a48e41683ae1a9b9a5bde750d3b418a205c28cc8
      https://github.com/llvm/llvm-project/commit/a48e41683ae1a9b9a5bde750d3b418a205c28cc8
  Author: peter klausler <pklausler at nvidia.com>
  Date:   2021-07-20 (Tue, 20 Jul 2021)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Semantics/type.h
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/compute-offsets.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Semantics/type.cpp
    M flang/module/__fortran_type_info.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/allocatable.cpp
    M flang/runtime/allocatable.h
    A flang/runtime/derived-api.cpp
    A flang/runtime/derived-api.h
    M flang/runtime/derived.cpp
    M flang/runtime/derived.h
    M flang/runtime/descriptor-io.h
    M flang/runtime/descriptor.cpp
    M flang/runtime/descriptor.h
    M flang/runtime/namelist.cpp
    M flang/runtime/pointer.cpp
    M flang/runtime/type-info.cpp
    M flang/runtime/type-info.h
    M flang/test/Semantics/call10.f90
    M flang/test/Semantics/offsets01.f90
    M flang/test/Semantics/typeinfo01.f90

  Log Message:
  -----------
  [flang] Run-time derived type initialization and destruction

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.

Differential Revision: https://reviews.llvm.org/D106297




More information about the All-commits mailing list