[all-commits] [llvm/llvm-project] 062b22: [flang][openacc] Add semantic checks for atomic co...

Andre Kuhlenschmidt via All-commits all-commits at lists.llvm.org
Wed Jul 30 08:13:53 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 062b22e46238be9a542755a9021486b651731908
      https://github.com/llvm/llvm-project/commit/062b22e46238be9a542755a9021486b651731908
  Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
  Date:   2025-07-30 (Wed, 30 Jul 2025)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/OpenMP/Atomic.cpp
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-acc-structure.h
    M flang/lib/Semantics/check-omp-atomic.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/openmp-utils.h
    M flang/test/Lower/OpenACC/acc-atomic-capture.f90
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90

  Log Message:
  -----------
  [flang][openacc] Add semantic checks for atomic constructs (#149579)

An error report of the following code generating non-atomic code led us
to realize there are missing checks in the OpenACC atomics code. Add
some of those checks for atomic and sketch how the rest of the code
should proceed in checking the rest of the properties. The following
cases are all reported as errors.
```fortran
! Originally reported error!
!$acc atomic capture
a = b
c = b
!$acc end atomic capture
! Other ambiguous, but related errors!
!$acc atomic capture
x = i
i = x
!$acc end atomic capture
!$acc atomic capture
a = b
b = b
!$acc end atomic capture
!$acc atomic capture
a = b
a = c
!$acc end atomic capture
```



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