| !RUN: %python %S/../test_modfile.py %s %flang_fc1 -fopenmp -fopenmp-version=60 |
| |
| module req |
| contains |
| |
| ! The requirements from the subprograms should be added to the module. |
| subroutine f00 |
| !$omp requires reverse_offload |
| end |
| |
| subroutine f01 |
| !$omp requires atomic_default_mem_order(seq_cst) |
| end |
| end module |
| |
| module user |
| ! The requirements from module req should be propagated to this module. |
| use req |
| ! This has no effect, and should not be emitted. |
| !$omp requires unified_shared_memory(.false.) |
| end module |
| |
| module fold |
| integer, parameter :: x = 10 |
| integer, parameter :: y = 33 |
| ! Make sure we can fold this expression to "true". |
| !$omp requires dynamic_allocators(x < y) |
| end module |
| |
| !Expect: req.mod |
| !module req |
| !!$omp requires atomic_default_mem_order(seq_cst) reverse_offload |
| !contains |
| !subroutine f00() |
| !end |
| !subroutine f01() |
| !end |
| !end |
| |
| !Expect: user.mod |
| !module user |
| !use req,only:f00 |
| !use req,only:f01 |
| !!$omp requires atomic_default_mem_order(seq_cst) reverse_offload |
| !end |
| |
| !Expect: fold.mod |
| !module fold |
| !integer(4),parameter::x=10_4 |
| !integer(4),parameter::y=33_4 |
| !!$omp requires dynamic_allocators |
| !end |