! 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: 9 ! 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: 12 ! 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: 16 ! 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: 21 ! CHECK-NEXT: construct: atomic-atomic ! CHECK-NEXT: clauses: [] ! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90' ! CHECK-NEXT: line: 8 ! 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:...