blob: d6d2d6ad878f3a16c048661943932daee402fe0e [file] [edit]
// REQUIRES: systemz-registered-target
// RUN: %clang_cc1 %s -emit-llvm -fzos-extensions -triple s390x-none-zos -fvisibility=hidden -o - | FileCheck %s
// Testing pragma export after decl.
void f0(void) {}
int v0;
int vd = 2;
#pragma export(f0)
#pragma export(v0)
#pragma export(vd)
// Testing pragma export before decl.
#pragma export(f1)
#pragma export(v1)
void f1(void) {}
int v1;
void f2(void);
void t0(void) { f2();}
#pragma export(f2)
void f2(void) {}
int func() {
int local;
int l2;
return local+l2;
}
int local = 2;
int l2 =4;
// CHECK: @vd = hidden global i32
// CHECK: @local = hidden global i32
// CHECK: @l2 = hidden global i32
// CHECK: @v0 = global i32
// CHECK: @v1 = global i32
// CHECK: define hidden void @f0()
// CHECK: define void @f1()
// CHECK: define hidden void @t0()
// CHECK: define void @f2()