11627eebaSMichael Kuperstein; RUN: llvm-dis < %s.bc| FileCheck %s 2c8eccd11SDuncan P. N. Exon Smith; RUN: verify-uselistorder < %s.bc 31627eebaSMichael Kuperstein 41627eebaSMichael Kuperstein; linkage-types-3.2.ll.bc was generated by passing this file to llvm-as-3.2 51627eebaSMichael Kuperstein; The test checks that LLVM does not silently misread linkage types of 61627eebaSMichael Kuperstein; older bitcode files. 71627eebaSMichael Kuperstein 81627eebaSMichael Kuperstein@common.var = common global i32 0 9dffdf14bSRafael Espindola; CHECK: @common.var = common global i32 0{{$}} 101627eebaSMichael Kuperstein 111627eebaSMichael Kuperstein@appending.var = appending global [8 x i32] undef 12dffdf14bSRafael Espindola; CHECK: @appending.var = appending global [8 x i32] undef{{$}} 131627eebaSMichael Kuperstein 141627eebaSMichael Kuperstein@extern_weak.var = extern_weak global i32 15dffdf14bSRafael Espindola; CHECK: @extern_weak.var = extern_weak global i32{{$}} 161627eebaSMichael Kuperstein 171627eebaSMichael Kuperstein@private.var = private constant i32 0 18dffdf14bSRafael Espindola; CHECK: @private.var = private constant i32 0{{$}} 191627eebaSMichael Kuperstein 201627eebaSMichael Kuperstein@linker_private.var = linker_private constant i32 0 21dffdf14bSRafael Espindola; CHECK: @linker_private.var = private constant i32 0{{$}} 221627eebaSMichael Kuperstein 231627eebaSMichael Kuperstein@linker_private_weak.var = linker_private_weak constant i32 0 24dffdf14bSRafael Espindola; CHECK: @linker_private_weak.var = private constant i32 0{{$}} 251627eebaSMichael Kuperstein 261627eebaSMichael Kuperstein@linker_private_weak_def_auto.var = linker_private_weak_def_auto constant i32 0 27dffdf14bSRafael Espindola; CHECK: @linker_private_weak_def_auto.var = constant i32 0{{$}} 281627eebaSMichael Kuperstein 291627eebaSMichael Kuperstein@internal.var = internal constant i32 0 30dffdf14bSRafael Espindola; CHECK: @internal.var = internal constant i32 0{{$}} 311627eebaSMichael Kuperstein 321627eebaSMichael Kuperstein@available_externally.var = available_externally constant i32 0 33dffdf14bSRafael Espindola; CHECK: @available_externally.var = available_externally constant i32 0{{$}} 341627eebaSMichael Kuperstein 351627eebaSMichael Kuperstein@linkonce.var = linkonce constant i32 0 36*12ca34f5SRafael Espindola; CHECK: @linkonce.var = linkonce constant i32 0, comdat{{$}} 371627eebaSMichael Kuperstein 381627eebaSMichael Kuperstein@weak.var = weak constant i32 0 39*12ca34f5SRafael Espindola; CHECK: @weak.var = weak constant i32 0, comdat{{$}} 401627eebaSMichael Kuperstein 411627eebaSMichael Kuperstein@linkonce_odr.var = linkonce_odr constant i32 0 42*12ca34f5SRafael Espindola; CHECK: @linkonce_odr.var = linkonce_odr constant i32 0, comdat{{$}} 431627eebaSMichael Kuperstein 441627eebaSMichael Kuperstein@linkonce_odr_auto_hide.var = linkonce_odr_auto_hide constant i32 0 45dffdf14bSRafael Espindola; CHECK: @linkonce_odr_auto_hide.var = constant i32 0{{$}} 461627eebaSMichael Kuperstein 471627eebaSMichael Kuperstein@external.var = external constant i32 48dffdf14bSRafael Espindola; CHECK: @external.var = external constant i32{{$}} 491627eebaSMichael Kuperstein 501627eebaSMichael Kuperstein@dllexport.var = dllexport global i32 0 51dffdf14bSRafael Espindola; CHECK: @dllexport.var = dllexport global i32 0{{$}} 521627eebaSMichael Kuperstein 531627eebaSMichael Kuperstein@dllimport.var = dllimport global i32 54dffdf14bSRafael Espindola; CHECK: @dllimport.var = external dllimport global i32{{$}} 551627eebaSMichael Kuperstein 561627eebaSMichael Kupersteindefine private void @private() 57dffdf14bSRafael Espindola; CHECK: define private void @private() { 581627eebaSMichael Kuperstein{ 59dffdf14bSRafael Espindola ret void 601627eebaSMichael Kuperstein} 611627eebaSMichael Kuperstein 621627eebaSMichael Kupersteindefine linker_private void @linker_private() 63dffdf14bSRafael Espindola; CHECK: define private void @linker_private() { 641627eebaSMichael Kuperstein{ 65dffdf14bSRafael Espindola ret void 661627eebaSMichael Kuperstein} 671627eebaSMichael Kuperstein 681627eebaSMichael Kupersteindefine linker_private_weak void @linker_private_weak() 69dffdf14bSRafael Espindola; CHECK: define private void @linker_private_weak() { 701627eebaSMichael Kuperstein{ 71dffdf14bSRafael Espindola ret void 721627eebaSMichael Kuperstein} 731627eebaSMichael Kuperstein 741627eebaSMichael Kupersteindefine linker_private_weak_def_auto void @linker_private_weak_def_auto() 75dffdf14bSRafael Espindola; CHECK: define void @linker_private_weak_def_auto() { 761627eebaSMichael Kuperstein{ 77dffdf14bSRafael Espindola ret void 781627eebaSMichael Kuperstein} 791627eebaSMichael Kuperstein 801627eebaSMichael Kupersteindefine internal void @internal() 81dffdf14bSRafael Espindola; CHECK: define internal void @internal() { 821627eebaSMichael Kuperstein{ 83dffdf14bSRafael Espindola ret void 841627eebaSMichael Kuperstein} 851627eebaSMichael Kuperstein 861627eebaSMichael Kupersteindefine available_externally void @available_externally() 87dffdf14bSRafael Espindola; CHECK: define available_externally void @available_externally() { 881627eebaSMichael Kuperstein{ 89dffdf14bSRafael Espindola ret void 901627eebaSMichael Kuperstein} 911627eebaSMichael Kuperstein 921627eebaSMichael Kupersteindefine linkonce void @linkonce() 93*12ca34f5SRafael Espindola; CHECK: define linkonce void @linkonce() comdat { 941627eebaSMichael Kuperstein{ 95dffdf14bSRafael Espindola ret void 961627eebaSMichael Kuperstein} 971627eebaSMichael Kuperstein 981627eebaSMichael Kupersteindefine weak void @weak() 99*12ca34f5SRafael Espindola; CHECK: define weak void @weak() comdat { 1001627eebaSMichael Kuperstein{ 101dffdf14bSRafael Espindola ret void 1021627eebaSMichael Kuperstein} 1031627eebaSMichael Kuperstein 1041627eebaSMichael Kupersteindefine linkonce_odr void @linkonce_odr() 105*12ca34f5SRafael Espindola; CHECK: define linkonce_odr void @linkonce_odr() comdat { 1061627eebaSMichael Kuperstein{ 107dffdf14bSRafael Espindola ret void 1081627eebaSMichael Kuperstein} 1091627eebaSMichael Kuperstein 1101627eebaSMichael Kupersteindefine linkonce_odr_auto_hide void @linkonce_odr_auto_hide() 111dffdf14bSRafael Espindola; CHECK: define void @linkonce_odr_auto_hide() { 1121627eebaSMichael Kuperstein{ 113dffdf14bSRafael Espindola ret void 1141627eebaSMichael Kuperstein} 1151627eebaSMichael Kuperstein 1161627eebaSMichael Kupersteindefine external void @external() 117dffdf14bSRafael Espindola; CHECK: define void @external() { 1181627eebaSMichael Kuperstein{ 119dffdf14bSRafael Espindola ret void 1201627eebaSMichael Kuperstein} 1211627eebaSMichael Kuperstein 1221627eebaSMichael Kupersteindeclare dllimport void @dllimport() 123dffdf14bSRafael Espindola; CHECK: declare dllimport void @dllimport(){{$}} 1241627eebaSMichael Kuperstein 1251627eebaSMichael Kupersteindefine dllexport void @dllexport() 126dffdf14bSRafael Espindola; CHECK: define dllexport void @dllexport() { 1271627eebaSMichael Kuperstein{ 128dffdf14bSRafael Espindola ret void 1291627eebaSMichael Kuperstein} 130