xref: /llvm-project/openmp/libompd/test/openmp_examples/example_1.c (revision 1099498e3f35b2ad4b021ba3888b590259124e74)
1*1099498eSVignesh Balasubramanian // RUN: %gdb-compile-and-run 2>&1 | tee %t.out | FileCheck %s
2*1099498eSVignesh Balasubramanian 
3*1099498eSVignesh Balasubramanian #include "../ompt_plugin.h"
4*1099498eSVignesh Balasubramanian #include <omp.h>
5*1099498eSVignesh Balasubramanian #include <pthread.h>
6*1099498eSVignesh Balasubramanian #include <stdio.h>
7*1099498eSVignesh Balasubramanian #include <unistd.h>
8*1099498eSVignesh Balasubramanian 
createPthreads()9*1099498eSVignesh Balasubramanian void createPthreads() {
10*1099498eSVignesh Balasubramanian   int numThreads = 2;
11*1099498eSVignesh Balasubramanian   pthread_t threads[numThreads];
12*1099498eSVignesh Balasubramanian   int i;
13*1099498eSVignesh Balasubramanian   for (i = 0; i < numThreads; ++i)
14*1099498eSVignesh Balasubramanian     pthread_create(&threads[i], NULL, ompd_tool_break, NULL);
15*1099498eSVignesh Balasubramanian 
16*1099498eSVignesh Balasubramanian   for (i = 0; i < numThreads; ++i)
17*1099498eSVignesh Balasubramanian     pthread_join(threads[i], NULL);
18*1099498eSVignesh Balasubramanian }
19*1099498eSVignesh Balasubramanian 
main()20*1099498eSVignesh Balasubramanian int main() {
21*1099498eSVignesh Balasubramanian   omp_set_num_threads(4);
22*1099498eSVignesh Balasubramanian   printf("Application: Process %d started.\n", getpid());
23*1099498eSVignesh Balasubramanian   createPthreads(); // thread_data is set to 0x0 if called
24*1099498eSVignesh Balasubramanian 
25*1099498eSVignesh Balasubramanian // Parallel region 1
26*1099498eSVignesh Balasubramanian #pragma omp parallel
27*1099498eSVignesh Balasubramanian   { ompd_tool_test(0); }
28*1099498eSVignesh Balasubramanian 
29*1099498eSVignesh Balasubramanian   return 0;
30*1099498eSVignesh Balasubramanian }
31*1099498eSVignesh Balasubramanian 
32*1099498eSVignesh Balasubramanian // CHECK-NOT: OMPT-OMPD mismatch
33*1099498eSVignesh Balasubramanian // CHECK-NOT: Python Exception
34*1099498eSVignesh Balasubramanian // CHECK-NOT: The program is not being run.
35