• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
55define private void @private()
56; CHECK: define private void @private
57{
58  ret void;
59}
60
61define linker_private void @linker_private()
62; CHECK: define private void @linker_private
63{
64  ret void;
65}
66
67define linker_private_weak void @linker_private_weak()
68; CHECK: define private void @linker_private_weak
69{
70  ret void;
71}
72
73define 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
79define internal void @internal()
80; CHECK: define internal void @internal
81{
82  ret void;
83}
84
85define available_externally void @available_externally()
86; CHECK: define available_externally void @available_externally
87{
88  ret void;
89}
90
91define linkonce void @linkonce()
92; CHECK: define linkonce void @linkonce
93{
94  ret void;
95}
96
97define weak void @weak()
98; CHECK: define weak void @weak
99{
100  ret void;
101}
102
103define linkonce_odr void @linkonce_odr()
104; CHECK: define linkonce_odr void @linkonce_odr
105{
106  ret void;
107}
108
109define linkonce_odr_auto_hide void @linkonce_odr_auto_hide()
110; CHECK: define void @linkonce_odr_auto_hide
111{
112  ret void;
113}
114
115define external void @external()
116; CHECK: define void @external
117{
118  ret void;
119}
120
121declare dllimport void @dllimport()
122; CHECK: declare dllimport void @dllimport
123
124define dllexport void @dllexport()
125; CHECK: define dllexport void @dllexport()
126{
127  ret void;
128}
129