xref: /llvm-project/flang/test/Lower/OpenMP/infinite-loop-in-construct.f90 (revision 55cb52bbc539777aeb176f22fef0b4bfc70883fc)
1! RUN: bbc -fopenmp -o - %s | FileCheck %s
2
3! Check that this test can be lowered successfully.
4! See https://github.com/llvm/llvm-project/issues/74348
5
6! CHECK-LABEL:  func.func @_QPsb
7! CHECK:          omp.parallel
8! CHECK:            cf.cond_br %{{[0-9]+}}, ^bb1, ^bb2
9! CHECK-NEXT:     ^bb1:  // pred: ^bb0
10! CHECK:            cf.br ^bb2
11! CHECK-NEXT:     ^bb2:  // 3 preds: ^bb0, ^bb1, ^bb2
12! CHECK-NEXT:       cf.br ^bb2
13! CHECK-NEXT:     }
14
15subroutine sb(ninter, numnod)
16  integer :: ninter, numnod
17  integer, dimension(:), allocatable :: indx_nm
18
19  !$omp parallel
20  if (ninter>0) then
21    allocate(indx_nm(numnod))
22  endif
23  220 continue
24  goto 220
25  !$omp end parallel
26end subroutine
27