62 lines · plain
1! RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=52 %s | FileCheck %s2 3program openmp_parse_if4 logical :: cond5 integer :: i6 7 ! CHECK: OmpDirectiveName -> llvm::omp::Directive = target update8 ! CHECK-NEXT: OmpClause -> If -> OmpIfClause9 ! CHECK-NOT: OmpDirectiveName10 !$omp target update if(cond) to(i)11 12 ! CHECK: OmpDirectiveName -> llvm::omp::Directive = target update13 ! CHECK-NEXT: OmpClause -> If -> OmpIfClause14 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = target update15 !$omp target update if(target update: cond) to(i)16 17 ! CHECK: OmpDirectiveName -> llvm::omp::Directive = target enter data18 ! CHECK: OmpClause -> If -> OmpIfClause19 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = target enter data20 !$omp target enter data map(to: i) if(target enter data: cond)21 22 ! CHECK: OmpDirectiveName -> llvm::omp::Directive = target exit data23 ! CHECK: OmpClause -> If -> OmpIfClause24 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = target exit data25 !$omp target exit data map(from: i) if(target exit data: cond)26 27 ! CHECK: OmpDirectiveName -> llvm::omp::Directive = target data28 ! CHECK: OmpClause -> If -> OmpIfClause29 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = target data30 !$omp target data map(tofrom: i) if(target data: cond)31 !$omp end target data32 33 ! CHECK: OmpDirectiveName -> llvm::omp::Directive = target teams distribute parallel do simd34 ! CHECK: OmpClause -> If -> OmpIfClause35 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = target36 ! CHECK: OmpClause -> If -> OmpIfClause37 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = teams38 ! CHECK: OmpClause -> If -> OmpIfClause39 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = parallel40 ! CHECK: OmpClause -> If -> OmpIfClause41 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = simd42 !$omp target teams distribute parallel do simd if(target: cond) &43 !$omp& if(teams: cond) if(parallel: cond) if(simd: cond)44 do i = 1, 1045 end do46 !$omp end target teams distribute parallel do simd47 48 ! CHECK: OmpDirectiveName -> llvm::omp::Directive = task49 ! CHECK-NEXT: OmpClause -> If -> OmpIfClause50 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = task51 !$omp task if(task: cond)52 !$omp end task53 54 ! CHECK: OmpDirectiveName -> llvm::omp::Directive = taskloop55 ! CHECK-NEXT: OmpClause -> If -> OmpIfClause56 ! CHECK-NEXT: OmpDirectiveName -> llvm::omp::Directive = taskloop57 !$omp taskloop if(taskloop: cond)58 do i = 1, 1059 end do60 !$omp end taskloop61end program openmp_parse_if62