URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 273 |
Rev 519 |
! { dg-do run }
|
! { dg-do run }
|
|
|
integer :: i
|
integer :: i
|
common /c/ i
|
common /c/ i
|
i = -1
|
i = -1
|
!$omp parallel shared (i) num_threads (4)
|
!$omp parallel shared (i) num_threads (4)
|
call test1
|
call test1
|
!$omp end parallel
|
!$omp end parallel
|
end
|
end
|
subroutine test1
|
subroutine test1
|
integer :: vari
|
integer :: vari
|
call test2
|
call test2
|
call test3
|
call test3
|
contains
|
contains
|
subroutine test2
|
subroutine test2
|
use omp_lib
|
use omp_lib
|
integer :: i
|
integer :: i
|
common /c/ i
|
common /c/ i
|
!$omp single
|
!$omp single
|
i = omp_get_thread_num ()
|
i = omp_get_thread_num ()
|
call test4
|
call test4
|
!$omp end single copyprivate (vari)
|
!$omp end single copyprivate (vari)
|
end subroutine test2
|
end subroutine test2
|
subroutine test3
|
subroutine test3
|
integer :: i
|
integer :: i
|
common /c/ i
|
common /c/ i
|
if (i .lt. 0 .or. i .ge. 4) call abort
|
if (i .lt. 0 .or. i .ge. 4) call abort
|
if (i + 10 .ne. vari) call abort
|
if (i + 10 .ne. vari) call abort
|
end subroutine test3
|
end subroutine test3
|
subroutine test4
|
subroutine test4
|
use omp_lib
|
use omp_lib
|
vari = omp_get_thread_num () + 10
|
vari = omp_get_thread_num () + 10
|
end subroutine test4
|
end subroutine test4
|
end subroutine test1
|
end subroutine test1
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.