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