[all-commits] [llvm/llvm-project] 19d864: [flang] Catch I/O of bad derived type at compile time

Peter Klausler via All-commits all-commits at lists.llvm.org
Mon Feb 28 15:40:29 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 19d86426331ea79e33ab8ca7a56b584565bd4640
      https://github.com/llvm/llvm-project/commit/19d86426331ea79e33ab8ca7a56b584565bd4640
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-02-28 (Mon, 28 Feb 2022)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-io.h
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/io12.f90

  Log Message:
  -----------
  [flang] Catch I/O of bad derived type at compile time

Derived types with allocatable and pointer components cannot
be used in I/O data transfer statements unless they have defined
I/O procedures available (as type-bound or regular generics).
These cases are caught as errors by the I/O runtime library,
but it would be better if they were flagged during compilation.

(Address comment in review: don't use explicit name string lengths.)

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




More information about the All-commits mailing list