1*1099498eSVignesh Balasubramanian // RUN: %gdb-compile 2>&1 | tee %t.compile 2*1099498eSVignesh Balasubramanian // RUN: env OMP_SCHEDULE=static %gdb-run 2>&1 | tee %t.out | FileCheck %s 3*1099498eSVignesh Balasubramanian 4*1099498eSVignesh Balasubramanian #include "../ompt_plugin.h" 5*1099498eSVignesh Balasubramanian #include <omp.h> 6*1099498eSVignesh Balasubramanian #include <stdio.h> 7*1099498eSVignesh Balasubramanian #include <unistd.h> 8*1099498eSVignesh Balasubramanian bar()9*1099498eSVignesh Balasubramanianvoid bar() { 10*1099498eSVignesh Balasubramanian int i; 11*1099498eSVignesh Balasubramanian #pragma omp parallel for num_threads(2) 12*1099498eSVignesh Balasubramanian for (i = 0; i < 10; i++) 13*1099498eSVignesh Balasubramanian ompd_tool_test(0); 14*1099498eSVignesh Balasubramanian } 15*1099498eSVignesh Balasubramanian foo()16*1099498eSVignesh Balasubramanianvoid foo() { 17*1099498eSVignesh Balasubramanian omp_set_max_active_levels(10); 18*1099498eSVignesh Balasubramanian #pragma omp parallel num_threads(2) 19*1099498eSVignesh Balasubramanian { 20*1099498eSVignesh Balasubramanian if (omp_get_thread_num() == 0) 21*1099498eSVignesh Balasubramanian ompd_tool_test(0); 22*1099498eSVignesh Balasubramanian else 23*1099498eSVignesh Balasubramanian bar(); 24*1099498eSVignesh Balasubramanian } 25*1099498eSVignesh Balasubramanian } 26*1099498eSVignesh Balasubramanian main()27*1099498eSVignesh Balasubramanianint main() { 28*1099498eSVignesh Balasubramanian printf("Process %d started.\n", getpid()); 29*1099498eSVignesh Balasubramanian foo(); 30*1099498eSVignesh Balasubramanian return 0; 31*1099498eSVignesh Balasubramanian } 32*1099498eSVignesh Balasubramanian 33*1099498eSVignesh Balasubramanian // CHECK-NOT: OMPT-OMPD mismatch 34*1099498eSVignesh Balasubramanian // CHECK-NOT: Python Exception 35*1099498eSVignesh Balasubramanian // CHECK-NOT: The program is not being run. 36