brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · fa05780 Raw
145 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse-no-sema -fopenmp %s | FileCheck --ignore-case %s2! RUN: %flang_fc1 -fdebug-dump-parse-tree-no-sema -fopenmp %s | FileCheck --check-prefix="PARSE-TREE" %s3program main4!CHECK-LABEL: program main5  implicit none6 7  integer, parameter :: N = 2568 9  type data0110   integer :: a11   integer :: arr(N)12  end type13 14  real :: arrA(N), arrB(N)15  integer, target :: arrC(N)16  type(data01) :: data01_a  17  integer, allocatable :: alloc_arr(:)18  integer, pointer :: ptrArr(:)  19 20  arrA = 1.41421  arrB = 3.1422  arrC = -123  data01_a%a = -124  data01_arr = -125  allocate(alloc_arr(N))26  alloc_arr = -127 28 29!CHECK: !$omp target defaultmap(tofrom:scalar)  30  !$omp target defaultmap(tofrom:scalar) 31  do i = 1, N32   a = 3.1433  enddo34!CHECK: !$omp end target35  !$omp end target36 37!PARSE-TREE:      OmpBeginDirective38!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target39!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause40!PARSE-TREE:          ImplicitBehavior = Tofrom41!PARSE-TREE:          Modifier -> OmpVariableCategory -> Value = Scalar42 43!CHECK: !$omp target defaultmap(alloc:scalar)44  !$omp target defaultmap(alloc:scalar)45   a = 4.5646!CHECK: !$omp end target47  !$omp end target48 49!PARSE-TREE:      OmpBeginDirective50!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target51!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause52!PARSE-TREE:          ImplicitBehavior = Alloc53!PARSE-TREE:          Modifier -> OmpVariableCategory -> Value = Scalar54 55!CHECK: !$omp target defaultmap(none)56  !$omp target defaultmap(none)57   a = 6.7858!CHECK: !$omp end target59  !$omp end target60 61!PARSE-TREE:      OmpBeginDirective62!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target63!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause64!PARSE-TREE:          ImplicitBehavior = None65 66!CHECK: !$omp target defaultmap(none:scalar)67  !$omp target defaultmap(none:scalar)68   a = 4.7869!CHECK: !$omp end target 70  !$omp end target71 72!PARSE-TREE:      OmpBeginDirective73!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target74!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause75!PARSE-TREE:          ImplicitBehavior = None76!PARSE-TREE:          Modifier -> OmpVariableCategory -> Value = Scalar77 78!CHECK: !$omp target defaultmap(to:scalar)79  !$omp target defaultmap(to:scalar)80   a = 2.3981!CHECK: !$omp end target82  !$omp end target83 84!PARSE-TREE:      OmpBeginDirective85!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target86!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause87!PARSE-TREE:          ImplicitBehavior = To88!PARSE-TREE:          Modifier -> OmpVariableCategory -> Value = Scalar89 90!CHECK: !$omp target defaultmap(firstprivate:scalar)91  !$omp target defaultmap(firstprivate:scalar)92   a = 9.4593!CHECK: !$omp end target94  !$omp end target95 96!PARSE-TREE:      OmpBeginDirective97!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target98!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause99!PARSE-TREE:          ImplicitBehavior = Firstprivate100!PARSE-TREE:          Modifier -> OmpVariableCategory -> Value = Scalar101 102!CHECK: !$omp target defaultmap(tofrom:aggregate)103  !$omp target defaultmap(tofrom:aggregate)104   arrC(1) = 10105   data01_a%a = 11106   data01_a%arr(1) = 100107   data01_a%arr(2) = 245108!CHECK: !$omp end target109  !$omp end target110 111!PARSE-TREE:      OmpBeginDirective112!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target113!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause114!PARSE-TREE:          ImplicitBehavior = Tofrom115!PARSE-TREE:          Modifier -> OmpVariableCategory -> Value = Aggregate116 117!CHECK: !$omp target defaultmap(tofrom:allocatable)  118  !$omp target defaultmap(tofrom:allocatable)119   alloc_arr(23) = 234120!CHECK: !$omp end target121  !$omp end target122 123!PARSE-TREE:      OmpBeginDirective124!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target125!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause126!PARSE-TREE:          ImplicitBehavior = Tofrom127!PARSE-TREE:          Modifier -> OmpVariableCategory -> Value = Allocatable128 129!CHECK: !$omp target defaultmap(default:pointer)130  !$omp target defaultmap(default:pointer)131   ptrArr=>arrC132   ptrArr(2) = 5133   prtArr(200) = 34134!CHECK: !$omp end target135  !$omp end target 136 137!PARSE-TREE:      OmpBeginDirective138!PARSE-TREE:        OmpDirectiveName -> llvm::omp::Directive = target139!PARSE-TREE:        OmpClauseList -> OmpClause -> Defaultmap -> OmpDefaultmapClause140!PARSE-TREE:          ImplicitBehavior = Default141!PARSE-TREE:          Modifier -> OmpVariableCategory -> Value = Pointer142 143end program main144!CHECK-LABEL: end program main145