The updated tests were originally added in https://reviews.llvm.org/D109890 and are currently causing some buildbots to fail. This patch: * adds missing items in the `REQUIRERS` list in tests * adds `flangOmpReport` (the plugin library added in D109890) as a CMake dependency for tests (only when examples are enabled) Differential Revision: https://reviews.llvm.org/D110682
60 lines
1.7 KiB
Fortran
60 lines
1.7 KiB
Fortran
! Check the flang-omp-report plugin for omp-atomic.f90
|
|
|
|
! REQUIRES: plugins, examples, shell
|
|
|
|
! RUN: %flang_fc1 -load %llvmshlibdir/flangOmpReport.so -plugin flang-omp-report -fopenmp %s -o - | FileCheck %s
|
|
|
|
! Check OpenMP 2.13.6 atomic Construct
|
|
|
|
a = 1.0
|
|
!$omp parallel num_threads(4) shared(a)
|
|
!$omp atomic seq_cst, read
|
|
b = a
|
|
|
|
!$omp atomic seq_cst write
|
|
a = b
|
|
!$omp end atomic
|
|
|
|
!$omp atomic capture seq_cst
|
|
b = a
|
|
a = a + 1
|
|
!$omp end atomic
|
|
|
|
!$omp atomic
|
|
a = a + 1
|
|
!$omp end parallel
|
|
end
|
|
|
|
! CHECK:---
|
|
! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'
|
|
! CHECK-NEXT: line: 11
|
|
! CHECK-NEXT: construct: atomic-read
|
|
! CHECK-NEXT: clauses:
|
|
! CHECK-NEXT: - clause: seq_cst
|
|
! CHECK-NEXT: details: ''
|
|
! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'
|
|
! CHECK-NEXT: line: 14
|
|
! CHECK-NEXT: construct: atomic-write
|
|
! CHECK-NEXT: clauses:
|
|
! CHECK-NEXT: - clause: seq_cst
|
|
! CHECK-NEXT: details: ''
|
|
! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'
|
|
! CHECK-NEXT: line: 18
|
|
! CHECK-NEXT: construct: atomic-capture
|
|
! CHECK-NEXT: clauses:
|
|
! CHECK-NEXT: - clause: seq_cst
|
|
! CHECK-NEXT: details: ''
|
|
! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'
|
|
! CHECK-NEXT: line: 23
|
|
! CHECK-NEXT: construct: atomic-atomic
|
|
! CHECK-NEXT: clauses: []
|
|
! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'
|
|
! CHECK-NEXT: line: 10
|
|
! CHECK-NEXT: construct: parallel
|
|
! CHECK-NEXT: clauses:
|
|
! CHECK-NEXT: - clause: num_threads
|
|
! CHECK-NEXT: details: '4'
|
|
! CHECK-NEXT: - clause: shared
|
|
! CHECK-NEXT: details: a
|
|
! CHECK-NEXT:...
|