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 46 define internal void @default.internal() { 47 ; CHECK: define internal void @default.internal 48 entry: 49 ret void 50 } 51 52 define internal hidden void @hidden.internal() { 53 ; CHECK: define internal void @hidden.internal 54 entry: 55 ret void 56 } 57 58 define internal protected void @protected.internal() { 59 ; CHECK: define internal void @protected.internal 60 entry: 61 ret void 62 } 63 64 define private void @default.private() { 65 ; CHECK: define private void @default.private 66 entry: 67 ret void 68 } 69 70 define private hidden void @hidden.private() { 71 ; CHECK: define private void @hidden.private 72 entry: 73 ret void 74 } 75 76 define private protected void @protected.private() { 77 ; CHECK: define private void @protected.private 78 entry: 79 ret void 80 } 81