aboutsummaryrefslogtreecommitdiff
path: root/clang/test/OpenMP/declare_target_visibility_codegen.cpp
blob: 6643a9bb4f0cbf986d0ca78c0422e5f73a63b771 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple x86_64-unknown-unknown -emit-llvm %s -o - | FileCheck %s --check-prefix=HOST

// expected-no-diagnostics
class C {
public:
//.
// HOST: @[[C:.+]] = internal global %class.C zeroinitializer, align 4
// HOST: @[[X:.+]] = internal global i32 0, align 4
// HOST: @y = hidden global i32 0
// HOST: @z = global i32 0
// HOST-NOT: @.offloading.entry.c
// HOST-NOT: @.offloading.entry.x
// HOST-NOT: @.offloading.entry.y
// HOST: @.offloading.entry.z
  C() : x(0) {}

  int x;
};

static C c;
#pragma omp declare target(c)

static int x;
#pragma omp declare target(x)

int __attribute__((visibility("hidden"))) y;
#pragma omp declare target(y)

int z;
#pragma omp declare target(z)