[all-commits] [llvm/llvm-project] 15106c: [flang][runtime] Fix odd "invalid descriptor" runt...

Peter Klausler via All-commits all-commits at lists.llvm.org
Tue Sep 10 14:14:30 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 15106c26662a573df31e8dfdd9350c313b8bfd84
      https://github.com/llvm/llvm-project/commit/15106c26662a573df31e8dfdd9350c313b8bfd84
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-09-10 (Tue, 10 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/module/__fortran_type_info.f90
    M flang/runtime/assign.cpp
    M flang/runtime/descriptor-io.h
    M flang/runtime/namelist.cpp
    M flang/runtime/type-info.cpp
    M flang/runtime/type-info.h
    M flang/test/Semantics/typeinfo01.f90
    M flang/test/Semantics/typeinfo02.f90
    M flang/test/Semantics/typeinfo04.f90
    A flang/test/Semantics/typeinfo12.f90

  Log Message:
  -----------
  [flang][runtime] Fix odd "invalid descriptor" runtime crash (#107785)

A defined assignment generic interface for a given LHS/RHS type & rank
combination may have a specific procedure with LHS dummy argument that
is neither allocatable nor pointer, or specific procedure(s) whose LHS
dummy arguments are allocatable or pointer. It is possible to have two
specific procedures if one's LHS dummy argument is allocatable and the
other's is pointer.

However, the runtime doesn't work with LHS dummy arguments that are
allocatable, and will crash with a mysterious "invalid descriptor" error
message.

Extend the list of special bindings to include
ScalarAllocatableAssignment and ScalarPointerAssignment, use them when
appropriate in the runtime type information tables, and handle them in
Assign() in the runtime support library.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list