[all-commits] [llvm/llvm-project] f81d5e: [flang] Handle OPTIONAL polymorphic captured in in...

jeanPerier via All-commits all-commits at lists.llvm.org
Tue Feb 27 23:48:59 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f81d5e549f0e02e1bfc5ccaf6341ad35d4ea8e98
      https://github.com/llvm/llvm-project/commit/f81d5e549f0e02e1bfc5ccaf6341ad35d4ea8e98
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    A flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90

  Log Message:
  -----------
  [flang] Handle OPTIONAL polymorphic captured in internal procedures (#82042)

The current code was doing an unconditional `fir.store %optional_box to
%host_link` which caused a crash when %optional_box is absent because is
is attempting to copy a descriptor from a null address.

Add code to conditionally do the copy at runtime.

The polymorphic array case with lower bounds can be handled with the
array case that already deals with descriptor argument with a few
modifications, just use that.



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