Home | History | Annotate | Download | only in Bitcode
      1 ; RUN:  llvm-dis < %s.bc| FileCheck %s
      2 
      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 
      7 @common.var = common global i32 0
      8 ; CHECK: @common.var = common global i32 0
      9 
     10 @appending.var = appending global [8 x i32] undef
     11 ; CHECK: @appending.var = appending global [8 x i32] undef
     12 
     13 @extern_weak.var = extern_weak global i32
     14 ; CHECK: @extern_weak.var = extern_weak global i32
     15 
     16 @private.var = private constant i32 0
     17 ; CHECK: @private.var = private constant i32 0
     18 
     19 @linker_private.var = linker_private constant i32 0
     20 ; CHECK: @linker_private.var = private constant i32 0
     21 
     22 @linker_private_weak.var = linker_private_weak constant i32 0
     23 ; CHECK: @linker_private_weak.var = private constant i32 0
     24 
     25 @linker_private_weak_def_auto.var = linker_private_weak_def_auto constant i32 0
     26 ; CHECK: @linker_private_weak_def_auto.var = constant i32 0
     27 
     28 @internal.var = internal constant i32 0
     29 ; CHECK: @internal.var = internal constant i32 0
     30 
     31 @available_externally.var = available_externally constant i32 0
     32 ; CHECK: @available_externally.var = available_externally constant i32 0
     33 
     34 @linkonce.var = linkonce constant i32 0
     35 ; CHECK: @linkonce.var = linkonce constant i32 0
     36 
     37 @weak.var = weak constant i32 0
     38 ; CHECK: @weak.var = weak constant i32 0
     39 
     40 @linkonce_odr.var = linkonce_odr constant i32 0
     41 ; CHECK: @linkonce_odr.var = linkonce_odr constant i32 0
     42 
     43 @linkonce_odr_auto_hide.var = linkonce_odr_auto_hide constant i32 0
     44 ; CHECK: @linkonce_odr_auto_hide.var = constant i32 0
     45 
     46 @external.var = external constant i32
     47 ; CHECK: @external.var = external constant i32
     48 
     49 @dllexport.var = dllexport global i32 0
     50 ; CHECK: @dllexport.var = dllexport global i32 0
     51 
     52 @dllimport.var = dllimport global i32
     53 ; CHECK: @dllimport.var = external dllimport global i32
     54 
     55 define private void @private()
     56 ; CHECK: define private void @private
     57 {
     58   ret void;
     59 }
     60 
     61 define linker_private void @linker_private()
     62 ; CHECK: define private void @linker_private
     63 {
     64   ret void;
     65 }
     66 
     67 define linker_private_weak void @linker_private_weak()
     68 ; CHECK: define private void @linker_private_weak
     69 {
     70   ret void;
     71 }
     72 
     73 define linker_private_weak_def_auto void @linker_private_weak_def_auto()
     74 ; CHECK: define void @linker_private_weak_def_auto
     75 {
     76   ret void;
     77 }
     78 
     79 define internal void @internal()
     80 ; CHECK: define internal void @internal
     81 {
     82   ret void;
     83 }
     84 
     85 define available_externally void @available_externally()
     86 ; CHECK: define available_externally void @available_externally
     87 {
     88   ret void;
     89 }
     90 
     91 define linkonce void @linkonce()
     92 ; CHECK: define linkonce void @linkonce
     93 {
     94   ret void;
     95 }
     96 
     97 define weak void @weak()
     98 ; CHECK: define weak void @weak
     99 {
    100   ret void;
    101 }
    102 
    103 define linkonce_odr void @linkonce_odr()
    104 ; CHECK: define linkonce_odr void @linkonce_odr
    105 {
    106   ret void;
    107 }
    108 
    109 define linkonce_odr_auto_hide void @linkonce_odr_auto_hide()
    110 ; CHECK: define void @linkonce_odr_auto_hide
    111 {
    112   ret void;
    113 }
    114 
    115 define external void @external()
    116 ; CHECK: define void @external
    117 {
    118   ret void;
    119 }
    120 
    121 declare dllimport void @dllimport()
    122 ; CHECK: declare dllimport void @dllimport
    123 
    124 define dllexport void @dllexport()
    125 ; CHECK: define dllexport void @dllexport()
    126 {
    127   ret void;
    128 }
    129