1*0d16c23aSJoseph Huber // 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
2*0d16c23aSJoseph Huber 
3*0d16c23aSJoseph Huber // expected-no-diagnostics
4*0d16c23aSJoseph Huber class C {
5*0d16c23aSJoseph Huber public:
6*0d16c23aSJoseph Huber //.
7*0d16c23aSJoseph Huber // HOST: @[[C:.+]] = internal global %class.C zeroinitializer, align 4
8*0d16c23aSJoseph Huber // HOST: @[[X:.+]] = internal global i32 0, align 4
9*0d16c23aSJoseph Huber // HOST: @y = hidden global i32 0
10*0d16c23aSJoseph Huber // HOST: @z = global i32 0
11*0d16c23aSJoseph Huber // HOST-NOT: @.omp_offloading.entry.c
12*0d16c23aSJoseph Huber // HOST-NOT: @.omp_offloading.entry.x
13*0d16c23aSJoseph Huber // HOST-NOT: @.omp_offloading.entry.y
14*0d16c23aSJoseph Huber // HOST: @.omp_offloading.entry.z
C()15*0d16c23aSJoseph Huber   C() : x(0) {}
16*0d16c23aSJoseph Huber 
17*0d16c23aSJoseph Huber   int x;
18*0d16c23aSJoseph Huber };
19*0d16c23aSJoseph Huber 
20*0d16c23aSJoseph Huber static C c;
21*0d16c23aSJoseph Huber #pragma omp declare target(c)
22*0d16c23aSJoseph Huber 
23*0d16c23aSJoseph Huber static int x;
24*0d16c23aSJoseph Huber #pragma omp declare target(x)
25*0d16c23aSJoseph Huber 
26*0d16c23aSJoseph Huber int __attribute__((visibility("hidden"))) y;
27*0d16c23aSJoseph Huber #pragma omp declare target(y)
28*0d16c23aSJoseph Huber 
29*0d16c23aSJoseph Huber int z;
30*0d16c23aSJoseph Huber #pragma omp declare target(z)
31