linkage-types-3.2.ll 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. ; RUN: llvm-dis < %s.bc| FileCheck %s
  2. ; RUN: verify-uselistorder < %s.bc
  3. ; linkage-types-3.2.ll.bc was generated by passing this file to llvm-as-3.2
  4. ; The test checks that LLVM does not silently misread linkage types of
  5. ; older bitcode files.
  6. @common.var = common global i32 0
  7. ; CHECK: @common.var = common global i32 0{{$}}
  8. @appending.var = appending global [8 x i32] undef
  9. ; CHECK: @appending.var = appending global [8 x i32] undef{{$}}
  10. @extern_weak.var = extern_weak global i32
  11. ; CHECK: @extern_weak.var = extern_weak global i32{{$}}
  12. @private.var = private constant i32 0
  13. ; CHECK: @private.var = private constant i32 0{{$}}
  14. @linker_private.var = linker_private constant i32 0
  15. ; CHECK: @linker_private.var = private constant i32 0{{$}}
  16. @linker_private_weak.var = linker_private_weak constant i32 0
  17. ; CHECK: @linker_private_weak.var = private constant i32 0{{$}}
  18. @linker_private_weak_def_auto.var = linker_private_weak_def_auto constant i32 0
  19. ; CHECK: @linker_private_weak_def_auto.var = constant i32 0{{$}}
  20. @internal.var = internal constant i32 0
  21. ; CHECK: @internal.var = internal constant i32 0{{$}}
  22. @available_externally.var = available_externally constant i32 0
  23. ; CHECK: @available_externally.var = available_externally constant i32 0{{$}}
  24. @linkonce.var = linkonce constant i32 0
  25. ; CHECK: @linkonce.var = linkonce constant i32 0, comdat{{$}}
  26. @weak.var = weak constant i32 0
  27. ; CHECK: @weak.var = weak constant i32 0, comdat{{$}}
  28. @linkonce_odr.var = linkonce_odr constant i32 0
  29. ; CHECK: @linkonce_odr.var = linkonce_odr constant i32 0, comdat{{$}}
  30. @linkonce_odr_auto_hide.var = linkonce_odr_auto_hide constant i32 0
  31. ; CHECK: @linkonce_odr_auto_hide.var = constant i32 0{{$}}
  32. @external.var = external constant i32
  33. ; CHECK: @external.var = external constant i32{{$}}
  34. @dllexport.var = dllexport global i32 0
  35. ; CHECK: @dllexport.var = dllexport global i32 0{{$}}
  36. @dllimport.var = dllimport global i32
  37. ; CHECK: @dllimport.var = external dllimport global i32{{$}}
  38. define private void @private()
  39. ; CHECK: define private void @private() {
  40. {
  41. ret void
  42. }
  43. define linker_private void @linker_private()
  44. ; CHECK: define private void @linker_private() {
  45. {
  46. ret void
  47. }
  48. define linker_private_weak void @linker_private_weak()
  49. ; CHECK: define private void @linker_private_weak() {
  50. {
  51. ret void
  52. }
  53. define linker_private_weak_def_auto void @linker_private_weak_def_auto()
  54. ; CHECK: define void @linker_private_weak_def_auto() {
  55. {
  56. ret void
  57. }
  58. define internal void @internal()
  59. ; CHECK: define internal void @internal() {
  60. {
  61. ret void
  62. }
  63. define available_externally void @available_externally()
  64. ; CHECK: define available_externally void @available_externally() {
  65. {
  66. ret void
  67. }
  68. define linkonce void @linkonce()
  69. ; CHECK: define linkonce void @linkonce() comdat {
  70. {
  71. ret void
  72. }
  73. define weak void @weak()
  74. ; CHECK: define weak void @weak() comdat {
  75. {
  76. ret void
  77. }
  78. define linkonce_odr void @linkonce_odr()
  79. ; CHECK: define linkonce_odr void @linkonce_odr() comdat {
  80. {
  81. ret void
  82. }
  83. define linkonce_odr_auto_hide void @linkonce_odr_auto_hide()
  84. ; CHECK: define void @linkonce_odr_auto_hide() {
  85. {
  86. ret void
  87. }
  88. define external void @external()
  89. ; CHECK: define void @external() {
  90. {
  91. ret void
  92. }
  93. declare dllimport void @dllimport()
  94. ; CHECK: declare dllimport void @dllimport(){{$}}
  95. define dllexport void @dllexport()
  96. ; CHECK: define dllexport void @dllexport() {
  97. {
  98. ret void
  99. }