OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.fortran/] [omp_atomic2.f90] - Blame information for rev 801

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 735 jeremybenn
! { dg-do run }
2
  real, dimension (20) :: r
3
  integer, dimension (20) :: d
4
  integer :: i, j, k, n
5
  integer (kind = 2) :: a, b, c
6
 
7
  do 10 i = 1, 20
8
    r(i) = i
9
10  d(i) = 21 - i
10
 
11
  n = 20
12
  call foo (r, d, n)
13
 
14
  if (n .ne. 22) call abort
15
  if (any (r .ne. 33)) call abort
16
 
17
  i = 1
18
  j = 18
19
  k = 23
20
!$omp atomic
21
  i = min (i, j, k, n)
22
  if (i .ne. 1) call abort
23
!$omp atomic
24
  i = max (j, n, k, i)
25
  if (i .ne. 23) call abort
26
 
27
  a = 1
28
  b = 18
29
  c = 23
30
!$omp atomic
31
  a = min (a, b, c)
32
  if (a .ne. 1) call abort
33
!$omp atomic
34
  a = max (a, b, c)
35
  if (a .ne. 23) call abort
36
 
37
contains
38
  function bar (i)
39
    real bar
40
    integer i
41
    bar = 12.0 + i
42
  end function bar
43
 
44
  subroutine foo (x, y, n)
45
    integer i, y (*), n
46
    real x (*)
47
    do i = 1, n
48
!$omp atomic
49
      x(y(i)) = x(y(i)) + bar (i)
50
    end do
51
!$omp atomic
52
    n = n + 2
53
  end subroutine foo
54
end

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.