35 lines · c
1// RUN: %gdb-compile-and-run 2>&1 | tee %t.out | FileCheck %s2 3#include "../ompt_plugin.h"4#include <omp.h>5#include <pthread.h>6#include <stdio.h>7#include <unistd.h>8 9void createPthreads() {10 int numThreads = 2;11 pthread_t threads[numThreads];12 int i;13 for (i = 0; i < numThreads; ++i)14 pthread_create(&threads[i], NULL, ompd_tool_break, NULL);15 16 for (i = 0; i < numThreads; ++i)17 pthread_join(threads[i], NULL);18}19 20int main() {21 omp_set_num_threads(4);22 printf("Application: Process %d started.\n", getpid());23 createPthreads(); // thread_data is set to 0x0 if called24 25// Parallel region 126#pragma omp parallel27 { ompd_tool_test(0); }28 29 return 0;30}31 32// CHECK-NOT: OMPT-OMPD mismatch33// CHECK-NOT: Python Exception34// CHECK-NOT: The program is not being run.35