brintos

brintos / llvm-project-archived public Read only

0
0
Text · 983 B · 66ec53f Raw
40 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 9int main() {10  printf("Application: Process %d started.\n", getpid());11  omp_set_num_threads(3);12  omp_set_max_active_levels(10);13 14#pragma omp parallel // parallel region begins15  {16    printf("Outer region - thread_ID: %d\n", omp_get_thread_num());17 18#pragma omp parallel num_threads(2) // nested parallel region 119    {20      printf("Inner region - thread_ID: %d\n", omp_get_thread_num());21 22#pragma omp parallel num_threads(2) // nested parallel region 223      {24        int i;25#pragma omp for26        for (i = 0; i < 4; i++)27          printf("Thread %i of %i working on %i\n", omp_get_thread_num(),28                 omp_get_max_threads(), i);29        ompd_tool_test(0);30      }31    }32  }33 34  return 0;35}36 37// CHECK-NOT: OMPT-OMPD mismatch38// CHECK-NOT: Python Exception39// CHECK-NOT: The program is not being run.40