130 lines · plain
1; RUN: llvm-dis < %s.bc| FileCheck %s2; RUN: verify-uselistorder < %s.bc3 4; linkage-types-3.2.ll.bc was generated by passing this file to llvm-as-3.25; The test checks that LLVM does not silently misread linkage types of6; older bitcode files.7 8@common.var = common global i32 09; CHECK: @common.var = common global i32 0{{$}}10 11@appending.var = appending global [8 x i32] undef12; CHECK: @appending.var = appending global [8 x i32] undef{{$}}13 14@extern_weak.var = extern_weak global i3215; CHECK: @extern_weak.var = extern_weak global i32{{$}}16 17@private.var = private constant i32 018; CHECK: @private.var = private constant i32 0{{$}}19 20@linker_private.var = linker_private constant i32 021; CHECK: @linker_private.var = private constant i32 0{{$}}22 23@linker_private_weak.var = linker_private_weak constant i32 024; CHECK: @linker_private_weak.var = private constant i32 0{{$}}25 26@linker_private_weak_def_auto.var = linker_private_weak_def_auto constant i32 027; CHECK: @linker_private_weak_def_auto.var = constant i32 0{{$}}28 29@internal.var = internal constant i32 030; CHECK: @internal.var = internal constant i32 0{{$}}31 32@available_externally.var = available_externally constant i32 033; CHECK: @available_externally.var = available_externally constant i32 0{{$}}34 35@linkonce.var = linkonce constant i32 036; CHECK: @linkonce.var = linkonce constant i32 0, comdat{{$}}37 38@weak.var = weak constant i32 039; CHECK: @weak.var = weak constant i32 0, comdat{{$}}40 41@linkonce_odr.var = linkonce_odr constant i32 042; CHECK: @linkonce_odr.var = linkonce_odr constant i32 0, comdat{{$}}43 44@linkonce_odr_auto_hide.var = linkonce_odr_auto_hide constant i32 045; CHECK: @linkonce_odr_auto_hide.var = constant i32 0{{$}}46 47@external.var = external constant i3248; CHECK: @external.var = external constant i32{{$}}49 50@dllexport.var = dllexport global i32 051; CHECK: @dllexport.var = dllexport global i32 0{{$}}52 53@dllimport.var = dllimport global i3254; CHECK: @dllimport.var = external dllimport global i32{{$}}55 56define private void @private()57; CHECK: define private void @private() {58{59 ret void60}61 62define linker_private void @linker_private()63; CHECK: define private void @linker_private() {64{65 ret void66}67 68define linker_private_weak void @linker_private_weak()69; CHECK: define private void @linker_private_weak() {70{71 ret void72}73 74define linker_private_weak_def_auto void @linker_private_weak_def_auto()75; CHECK: define void @linker_private_weak_def_auto() {76{77 ret void78}79 80define internal void @internal()81; CHECK: define internal void @internal() {82{83 ret void84}85 86define available_externally void @available_externally()87; CHECK: define available_externally void @available_externally() {88{89 ret void90}91 92define linkonce void @linkonce()93; CHECK: define linkonce void @linkonce() comdat {94{95 ret void96}97 98define weak void @weak()99; CHECK: define weak void @weak() comdat {100{101 ret void102}103 104define linkonce_odr void @linkonce_odr()105; CHECK: define linkonce_odr void @linkonce_odr() comdat {106{107 ret void108}109 110define linkonce_odr_auto_hide void @linkonce_odr_auto_hide()111; CHECK: define void @linkonce_odr_auto_hide() {112{113 ret void114}115 116define external void @external()117; CHECK: define void @external() {118{119 ret void120}121 122declare dllimport void @dllimport()123; CHECK: declare dllimport void @dllimport(){{$}}124 125define dllexport void @dllexport()126; CHECK: define dllexport void @dllexport() {127{128 ret void129}130