[all-commits] [llvm/llvm-project] 43abd2: [flang] Fix corner case of defined component assig...

Peter Klausler via All-commits all-commits at lists.llvm.org
Wed Jun 4 09:23:20 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 43abd252db7245a2c3ea9c0c18aa6eb1955eea1a
      https://github.com/llvm/llvm-project/commit/43abd252db7245a2c3ea9c0c18aa6eb1955eea1a
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-06-04 (Wed, 04 Jun 2025)

  Changed paths:
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/test/Semantics/typeinfo01.f90

  Log Message:
  -----------
  [flang] Fix corner case of defined component assignment (#142201)

For componentwise assignment in derived type intrinsic assignment, the
runtime type information's special binding table is currently populated
only with type-bound ASSIGNMENT(=) procedures that have the same derived
type for both arguments. This restriction excludes all defined
assignments for cases that cannot arise in this context, like defined
assignments from intrinsic types or incompatible derived types.

However, this restriction also excludes defined assignments from
distinct but compatible derived types, i.e. ancestors. Loosen it a
little to allow them.

Fixes https://github.com/llvm/llvm-project/issues/142151.



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