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