pragma-visibility.c revision 62e22ee7a17bbba427367ec2f9c8c4f60d778ac5
1// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
2
3#pragma GCC visibility push(hidden)
4int x = 2;
5// CHECK: @x = hidden global
6
7extern int y;
8#pragma GCC visibility pop
9int y = 4;
10// CHECK: @y = hidden global
11
12#pragma GCC visibility push(hidden)
13extern __attribute((visibility("default"))) int z;
14int z = 0;
15// CHECK: @z = global
16#pragma GCC visibility pop
17
18#pragma GCC visibility push(hidden)
19void f() {}
20// CHECK: define hidden void @f
21
22__attribute((visibility("default"))) void g();
23void g() {}
24// CHECK: define void @g
25