[all-commits] [llvm/llvm-project] b0f02c: [flang] Catch impure defined assignments in DO CON...

Peter Klausler via All-commits all-commits at lists.llvm.org
Mon Mar 27 17:25:42 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b0f02cee2b5b9a767705db9b9aa0663b49742c4e
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2023-03-27 (Mon, 27 Mar 2023)

  Changed paths:
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/test/Semantics/doconcurrent01.f90

  Log Message:
  [flang] Catch impure defined assignments in DO CONCURRENT

The semantic checking of DO CONCURRENT bodies looks only at the
parse tree, not the typed expressions produced from it, so it
misses calls to defined assignment subroutines that arise from
assignment statements that resolve via generic interfaces into
subroutine calls.  Extend the checking to peek into the typed
assignment operations left on the parse tree by semantics.

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

More information about the All-commits mailing list