64 lines · plain
1! REQUIRES: plugins, examples, shell2 3! RUN: %flang_fc1 -load %llvmshlibdir/flangOmpReport%pluginext -plugin flang-omp-report -fopenmp %s -o - | FileCheck %s4 5! Check OpenMP 2.13.6 atomic Construct6 7 a = 1.08 !$omp parallel num_threads(4) shared(a)9 !$omp atomic seq_cst, read10 b = a11 12 !$omp atomic seq_cst write13 a = b14 !$omp end atomic15 16 !$omp atomic capture seq_cst17 b = a18 a = a + 119 !$omp end atomic20 21 !$omp atomic22 a = a + 123 !$omp end parallel24end25 26! CHECK:---27! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'28! CHECK-NEXT: line: 929! CHECK-NEXT: construct: atomic30! CHECK-NEXT: clauses:31! CHECK-NEXT: - clause: read32! CHECK-NEXT: details: ''33! CHECK-NEXT: - clause: seq_cst34! CHECK-NEXT: details: ''35! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'36! CHECK-NEXT: line: 1237! CHECK-NEXT: construct: atomic38! CHECK-NEXT: clauses:39! CHECK-NEXT: - clause: seq_cst40! CHECK-NEXT: details: ''41! CHECK-NEXT: - clause: write42! CHECK-NEXT: details: ''43! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'44! CHECK-NEXT: line: 1645! CHECK-NEXT: construct: atomic46! CHECK-NEXT: clauses:47! CHECK-NEXT: - clause: capture48! CHECK-NEXT: details: ''49! CHECK-NEXT: - clause: seq_cst50! CHECK-NEXT: details: ''51! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'52! CHECK-NEXT: line: 2153! CHECK-NEXT: construct: atomic54! CHECK-NEXT: clauses: []55! CHECK-NEXT:- file: '{{[^"]*}}omp-atomic.f90'56! CHECK-NEXT: line: 857! CHECK-NEXT: construct: parallel58! CHECK-NEXT: clauses:59! CHECK-NEXT: - clause: num_threads60! CHECK-NEXT: details: '4'61! CHECK-NEXT: - clause: shared62! CHECK-NEXT: details: a63! CHECK-NEXT:...64