| // RUN: %gdb-compile-and-run 2>&1 | tee %t.out | FileCheck %s |
| |
| #include "../ompt_plugin.h" |
| #include <omp.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| |
| int fib(int n) { |
| int i, j; |
| if (n < 2) { |
| ompd_tool_test(0); |
| return n; |
| } else { |
| #pragma omp task shared(i) |
| i = fib(n - 1); |
| #pragma omp task shared(j) |
| j = fib(n - 2); |
| #pragma omp taskwait |
| return i + j; |
| } |
| } |
| |
| int main(int argc, char **argv) { |
| int n = 5; |
| if (argc > 1) |
| n = atoi(argv[1]); |
| #pragma omp parallel |
| { |
| #pragma omp single |
| printf("fib(%i) = %i\n", n, fib(n)); |
| } |
| return 0; |
| } |
| |
| // CHECK-NOT: OMPT-OMPD mismatch |
| // CHECK-NOT: Python Exception |
| // CHECK-NOT: The program is not being run. |