xref: /llvm-project/llvm/test/Bitcode/linkage-types-3.2.ll (revision 12ca34f53ff8449283fc6a0e1c6ab1f739f3158f)
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