blob: 15ff5e3a6af872c845c32673a68a571355fab8b9 [file] [log] [blame]
Duncan P. N. Exon Smith76c17d32014-05-07 22:57:20 +00001; RUN: llvm-dis < %s.bc | FileCheck %s
Duncan P. N. Exon Smith13f5c582014-08-19 21:08:27 +00002; RUN: verify-uselistorder < %s.bc
Duncan P. N. Exon Smith76c17d32014-05-07 22:57:20 +00003
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
David Blaikie21f77df2015-09-11 03:22:04 +000028@default.internal.alias = alias internal i32, internal i32* @global
29; CHECK: @default.internal.alias = internal alias i32, i32* @global
Duncan P. N. Exon Smith76c17d32014-05-07 22:57:20 +000030
David Blaikie21f77df2015-09-11 03:22:04 +000031@hidden.internal.alias = hidden alias internal i32, internal i32* @global
32; CHECK: @hidden.internal.alias = internal alias i32, i32* @global
Duncan P. N. Exon Smith76c17d32014-05-07 22:57:20 +000033
David Blaikie21f77df2015-09-11 03:22:04 +000034@protected.internal.alias = protected alias internal i32, internal i32* @global
35; CHECK: @protected.internal.alias = internal alias i32, i32* @global
Duncan P. N. Exon Smith76c17d32014-05-07 22:57:20 +000036
David Blaikie21f77df2015-09-11 03:22:04 +000037@default.private.alias = alias private i32, private i32* @global
38; CHECK: @default.private.alias = private alias i32, i32* @global
Duncan P. N. Exon Smith76c17d32014-05-07 22:57:20 +000039
David Blaikie21f77df2015-09-11 03:22:04 +000040@hidden.private.alias = hidden alias private i32, private i32* @global
41; CHECK: @hidden.private.alias = private alias i32, i32* @global
Duncan P. N. Exon Smith76c17d32014-05-07 22:57:20 +000042
David Blaikie21f77df2015-09-11 03:22:04 +000043@protected.private.alias = protected alias private i32, private i32* @global
44; CHECK: @protected.private.alias = private alias i32, i32* @global
Duncan P. N. Exon Smith76c17d32014-05-07 22:57:20 +000045
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}