brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 5944850 Raw
49 lines · c
1// clang-format off2// RUN: %libomp-compile-and-run | FileCheck %s3// REQUIRES: ompt4// clang-format on5#include "callback.h"6#include <omp.h>7int main() {8  int x = 0;9  int ret = 0;10#pragma omp parallel11#pragma omp single12  x++;13  // Expected to fail; omp_pause_stop_tool must not be specified14  ret = omp_pause_resource(omp_pause_stop_tool, omp_get_initial_device());15  printf("omp_pause_resource %s\n", ret ? "failed" : "succeeded");16#pragma omp parallel17#pragma omp single18  x++;19  // Expected to succeed20  ret = omp_pause_resource_all(omp_pause_stop_tool);21  printf("omp_pause_resource_all %s\n", ret ? "failed" : "succeeded");22#pragma omp parallel23#pragma omp single24  x++;25  printf("x = %d\n", x);26  return 0;27 28  // clang-format off29  // Check if30  // -- omp_pause_resource/resource_all returns expected code31  // -- OMPT interface is shut down as expected32 33  // CHECK-NOT: {{^}}0: Could not register callback34  // CHECK: 0: NULL_POINTER=[[NULL:.*$]]35 36  // CHECK: ompt_event_parallel_begin37  // CHECK: ompt_event_parallel_end38 39  // CHECK: omp_pause_resource failed40 41  // CHECK: ompt_event_parallel_begin42  // CHECK: ompt_event_parallel_end43 44  // CHECK: omp_pause_resource_all succeeded45 46  // CHECK-NOT: ompt_event47  // clang-format on48}49