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