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, internal i32* @global 29; CHECK: @default.internal.alias = internal alias i32, i32* @global 30 31@hidden.internal.alias = hidden alias internal i32, internal i32* @global 32; CHECK: @hidden.internal.alias = internal alias i32, i32* @global 33 34@protected.internal.alias = protected alias internal i32, internal i32* @global 35; CHECK: @protected.internal.alias = internal alias i32, i32* @global 36 37@default.private.alias = alias private i32, private i32* @global 38; CHECK: @default.private.alias = private alias i32, i32* @global 39 40@hidden.private.alias = hidden alias private i32, private i32* @global 41; CHECK: @hidden.private.alias = private alias i32, i32* @global 42 43@protected.private.alias = protected alias private i32, private i32* @global 44; CHECK: @protected.private.alias = private alias i32, 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