1*3323a4bdSKiran Chandramohan! RUN: not %flang -fsyntax-only -fopenmp %s 2>&1 | FileCheck %s 2*3323a4bdSKiran Chandramohan! OpenMP Version 4.5 3*3323a4bdSKiran Chandramohan! 2.9.1 task Construct 4*3323a4bdSKiran Chandramohan! Invalid entry to OpenMP structured block. 5*3323a4bdSKiran Chandramohan 6*3323a4bdSKiran Chandramohanrecursive subroutine traverse ( P ) 7*3323a4bdSKiran Chandramohan type Node 8*3323a4bdSKiran Chandramohan type(Node), pointer :: left, right 9*3323a4bdSKiran Chandramohan end type Node 10*3323a4bdSKiran Chandramohan 11*3323a4bdSKiran Chandramohan type(Node) :: P 12*3323a4bdSKiran Chandramohan 13*3323a4bdSKiran Chandramohan !CHECK: invalid branch into an OpenMP structured block 14*3323a4bdSKiran Chandramohan goto 10 15*3323a4bdSKiran Chandramohan 16*3323a4bdSKiran Chandramohan if (associated(P%left)) then 17*3323a4bdSKiran Chandramohan !$omp task 18*3323a4bdSKiran Chandramohan call traverse(P%left) 19*3323a4bdSKiran Chandramohan !CHECK: In the enclosing TASK directive branched into 20*3323a4bdSKiran Chandramohan 10 stop 21*3323a4bdSKiran Chandramohan !$omp end task 22*3323a4bdSKiran Chandramohan endif 23*3323a4bdSKiran Chandramohan 24*3323a4bdSKiran Chandramohan if (associated(P%right)) then 25*3323a4bdSKiran Chandramohan !$omp task 26*3323a4bdSKiran Chandramohan call traverse(P%right) 27*3323a4bdSKiran Chandramohan !$omp end task 28*3323a4bdSKiran Chandramohan endif 29*3323a4bdSKiran Chandramohan call process ( P ) 30*3323a4bdSKiran Chandramohan 31*3323a4bdSKiran Chandramohan end subroutine traverse 32