1; RUN: llvm-dis < %s.bc | FileCheck %s
2; RUN: verify-uselistorder < %s.bc
3
4; local-linkage-default-visibility.3.4.ll.bc was generated by passing this file
5; to llvm-as-3.4.  The test checks that LLVM upgrades visibility of symbols
6; with local linkage to default visibility.
7
8@default.internal.var = internal global i32 0
9; CHECK: @default.internal.var = internal global i32 0
10
11@hidden.internal.var = internal hidden global i32 0
12; CHECK: @hidden.internal.var = internal global i32 0
13
14@protected.internal.var = internal protected global i32 0
15; CHECK: @protected.internal.var = internal global i32 0
16
17@default.private.var = private global i32 0
18; CHECK: @default.private.var = private global i32 0
19
20@hidden.private.var = private hidden global i32 0
21; CHECK: @hidden.private.var = private global i32 0
22
23@protected.private.var = private protected global i32 0
24; CHECK: @protected.private.var = private global i32 0
25
26@global = global i32 0
27
28@default.internal.alias = alias internal i32* @global
29; CHECK: @default.internal.alias = internal alias i32* @global
30
31@hidden.internal.alias = hidden alias internal i32* @global
32; CHECK: @hidden.internal.alias = internal alias i32* @global
33
34@protected.internal.alias = protected alias internal i32* @global
35; CHECK: @protected.internal.alias = internal alias i32* @global
36
37@default.private.alias = alias private i32* @global
38; CHECK: @default.private.alias = private alias i32* @global
39
40@hidden.private.alias = hidden alias private i32* @global
41; CHECK: @hidden.private.alias = private alias i32* @global
42
43@protected.private.alias = protected alias private i32* @global
44; CHECK: @protected.private.alias = private alias i32* @global
45
46define internal void @default.internal() {
47; CHECK: define internal void @default.internal
48entry:
49  ret void
50}
51
52define internal hidden void @hidden.internal() {
53; CHECK: define internal void @hidden.internal
54entry:
55  ret void
56}
57
58define internal protected void @protected.internal() {
59; CHECK: define internal void @protected.internal
60entry:
61  ret void
62}
63
64define private void @default.private() {
65; CHECK: define private void @default.private
66entry:
67  ret void
68}
69
70define private hidden void @hidden.private() {
71; CHECK: define private void @hidden.private
72entry:
73  ret void
74}
75
76define private protected void @protected.private() {
77; CHECK: define private void @protected.private
78entry:
79  ret void
80}
81