1*1099498eSVignesh Balasubramanian // RUN: %gdb-compile 2>&1 | tee %t.compile 2*1099498eSVignesh Balasubramanian // RUN: %gdb-test -x %s.cmd %t 2>&1 | tee %t.out | FileCheck %s 3*1099498eSVignesh Balasubramanian 4*1099498eSVignesh Balasubramanian #include <omp.h> 5*1099498eSVignesh Balasubramanian #include <stdio.h> get_fib_num(int num)6*1099498eSVignesh Balasubramanianint get_fib_num(int num) { 7*1099498eSVignesh Balasubramanian int t1, t2; 8*1099498eSVignesh Balasubramanian if (num < 2) 9*1099498eSVignesh Balasubramanian return num; 10*1099498eSVignesh Balasubramanian else { 11*1099498eSVignesh Balasubramanian #pragma omp task shared(t1) 12*1099498eSVignesh Balasubramanian t1 = get_fib_num(num - 1); 13*1099498eSVignesh Balasubramanian #pragma omp task shared(t2) 14*1099498eSVignesh Balasubramanian t2 = get_fib_num(num - 2); 15*1099498eSVignesh Balasubramanian #pragma omp taskwait 16*1099498eSVignesh Balasubramanian return t1 + t2; 17*1099498eSVignesh Balasubramanian } 18*1099498eSVignesh Balasubramanian } 19*1099498eSVignesh Balasubramanian main()20*1099498eSVignesh Balasubramanianint main() { 21*1099498eSVignesh Balasubramanian int ret = 0; 22*1099498eSVignesh Balasubramanian omp_set_num_threads(2); 23*1099498eSVignesh Balasubramanian #pragma omp parallel 24*1099498eSVignesh Balasubramanian { ret = get_fib_num(10); } 25*1099498eSVignesh Balasubramanian printf("Fib of 10 is %d", ret); 26*1099498eSVignesh Balasubramanian return 0; 27*1099498eSVignesh Balasubramanian } 28*1099498eSVignesh Balasubramanian 29*1099498eSVignesh Balasubramanian // CHECK-NOT: Failed 30*1099498eSVignesh Balasubramanian // CHECK-NOT: Skip 31