[all-commits] [llvm/llvm-project] 8ecb95: [flang][OpenMP][Semantics] resolve objects in the ...

Tom Eccles via All-commits all-commits at lists.llvm.org
Tue May 13 02:14:24 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8ecb958b8f7bc8110fd2bd3e9b023095e7f14c94
      https://github.com/llvm/llvm-project/commit/8ecb958b8f7bc8110fd2bd3e9b023095e7f14c94
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-05-13 (Tue, 13 May 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/flush04.f90

  Log Message:
  -----------
  [flang][OpenMP][Semantics] resolve objects in the flush arg list (#139522)

Fixes #136583

Normally the flush argument list would contain a DataRef to some
variable. All DataRefs are handled generically in resolve-names and so
the problem wasn't observed. But when a common block name is specified,
this is not parsed as a DataRef. There was already handling in
resolve-directives for OmpObjectList but not for argument lists. I've
added a visitor for FLUSH which ensures all of the arguments have been
resolved.

The test is there to make sure the compiler doesn't crashed encountering
the unresolved symbol. It shows that we currently deny flushing a common
block. I'm not sure that it is right to restrict common blocks from
flush argument lists, but fixing that can come in a different patch.
This one is fixing an ICE.



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