comparison test/CodeGen/X86/dllexport.ll @ 83:60c9769439b8 LLVM3.7

LLVM 3.7
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Wed, 18 Feb 2015 14:55:36 +0900
parents 54457678186b
children afa8332a0e37
comparison
equal deleted inserted replaced
78:af83660cff7b 83:60c9769439b8
19 ; CHECK: .globl _f2 19 ; CHECK: .globl _f2
20 define dllexport void @f2() unnamed_addr { 20 define dllexport void @f2() unnamed_addr {
21 ret void 21 ret void
22 } 22 }
23 23
24 declare dllexport void @not_defined()
25
24 ; CHECK: .globl _stdfun@0 26 ; CHECK: .globl _stdfun@0
25 define dllexport x86_stdcallcc void @stdfun() nounwind { 27 define dllexport x86_stdcallcc void @stdfun() nounwind {
26 ret void 28 ret void
27 } 29 }
28 30
34 ; CHECK: .globl _thisfun 36 ; CHECK: .globl _thisfun
35 define dllexport x86_thiscallcc void @thisfun() nounwind { 37 define dllexport x86_thiscallcc void @thisfun() nounwind {
36 ret void 38 ret void
37 } 39 }
38 40
39 ; CHECK: .section .text,"xr",discard,_lnk1
40 ; CHECK: .globl _lnk1 41 ; CHECK: .globl _lnk1
41 define linkonce_odr dllexport void @lnk1() { 42 define linkonce_odr dllexport void @lnk1() {
42 ret void 43 ret void
43 } 44 }
44 45
45 ; CHECK: .section .text,"xr",discard,_lnk2
46 ; CHECK: .globl _lnk2 46 ; CHECK: .globl _lnk2
47 define linkonce_odr dllexport void @lnk2() alwaysinline { 47 define linkonce_odr dllexport void @lnk2() alwaysinline {
48 ret void 48 ret void
49 } 49 }
50 50
51 ; CHECK: .section .text,"xr",discard,_weak1
52 ; CHECK: .globl _weak1 51 ; CHECK: .globl _weak1
53 define weak_odr dllexport void @weak1() { 52 define weak_odr dllexport void @weak1() {
54 ret void 53 ret void
55 } 54 }
56 55
57 56
58 ; CHECK: .data 57 ; CHECK: .data
59 ; CHECK: .globl _Var1 58 ; CHECK: .globl _Var1
60 @Var1 = dllexport global i32 1, align 4 59 @Var1 = dllexport global i32 1, align 4
61 60
62 ; CHECK: .rdata,"rd" 61 ; CHECK: .rdata,"dr"
63 ; CHECK: .globl _Var2 62 ; CHECK: .globl _Var2
64 @Var2 = dllexport unnamed_addr constant i32 1 63 @Var2 = dllexport unnamed_addr constant i32 1
65 64
66 ; CHECK: .comm _Var3 65 ; CHECK: .comm _Var3
67 @Var3 = common dllexport global i32 0, align 4 66 @Var3 = common dllexport global i32 0, align 4
68 67
69 ; CHECK: .section .data,"wd",discard,_WeakVar1
70 ; CHECK: .globl _WeakVar1 68 ; CHECK: .globl _WeakVar1
71 @WeakVar1 = weak_odr dllexport global i32 1, align 4 69 @WeakVar1 = weak_odr dllexport global i32 1, align 4
72 70
73 ; CHECK: .section .rdata,"rd",discard,_WeakVar2
74 ; CHECK: .globl _WeakVar2 71 ; CHECK: .globl _WeakVar2
75 @WeakVar2 = weak_odr dllexport unnamed_addr constant i32 1 72 @WeakVar2 = weak_odr dllexport unnamed_addr constant i32 1
76 73
77 74
78 ; CHECK: .globl _alias 75 ; CHECK: .globl _alias
89 86
90 ; CHECK: .weak _weak_alias 87 ; CHECK: .weak _weak_alias
91 ; CHECK: _weak_alias = _f1 88 ; CHECK: _weak_alias = _f1
92 @weak_alias = weak_odr dllexport alias void()* @f1 89 @weak_alias = weak_odr dllexport alias void()* @f1
93 90
94
95 ; CHECK: .section .drectve 91 ; CHECK: .section .drectve
96 ; CHECK-CL: " /EXPORT:_Var1,DATA" 92 ; CHECK-CL: " /EXPORT:_Var1,DATA"
97 ; CHECK-CL: " /EXPORT:_Var2,DATA" 93 ; CHECK-CL: " /EXPORT:_Var2,DATA"
98 ; CHECK-CL: " /EXPORT:_Var3,DATA" 94 ; CHECK-CL: " /EXPORT:_Var3,DATA"
99 ; CHECK-CL: " /EXPORT:_WeakVar1,DATA" 95 ; CHECK-CL: " /EXPORT:_WeakVar1,DATA"
100 ; CHECK-CL: " /EXPORT:_WeakVar2,DATA" 96 ; CHECK-CL: " /EXPORT:_WeakVar2,DATA"
101 ; CHECK-CL: " /EXPORT:_f1" 97 ; CHECK-CL: " /EXPORT:_f1"
102 ; CHECK-CL: " /EXPORT:_f2" 98 ; CHECK-CL: " /EXPORT:_f2"
99 ; CHECK-CL-NOT: not_exported
103 ; CHECK-CL: " /EXPORT:_stdfun@0" 100 ; CHECK-CL: " /EXPORT:_stdfun@0"
104 ; CHECK-CL: " /EXPORT:@fastfun@0" 101 ; CHECK-CL: " /EXPORT:@fastfun@0"
105 ; CHECK-CL: " /EXPORT:_thisfun" 102 ; CHECK-CL: " /EXPORT:_thisfun"
106 ; CHECK-CL: " /EXPORT:_lnk1" 103 ; CHECK-CL: " /EXPORT:_lnk1"
107 ; CHECK-CL: " /EXPORT:_lnk2" 104 ; CHECK-CL: " /EXPORT:_lnk2"
115 ; CHECK-GCC: " -export:Var3,data" 112 ; CHECK-GCC: " -export:Var3,data"
116 ; CHECK-GCC: " -export:WeakVar1,data" 113 ; CHECK-GCC: " -export:WeakVar1,data"
117 ; CHECK-GCC: " -export:WeakVar2,data" 114 ; CHECK-GCC: " -export:WeakVar2,data"
118 ; CHECK-GCC: " -export:f1" 115 ; CHECK-GCC: " -export:f1"
119 ; CHECK-GCC: " -export:f2" 116 ; CHECK-GCC: " -export:f2"
117 ; CHECK-CL-NOT: not_exported
120 ; CHECK-GCC: " -export:stdfun@0" 118 ; CHECK-GCC: " -export:stdfun@0"
121 ; CHECK-GCC: " -export:@fastfun@0" 119 ; CHECK-GCC: " -export:@fastfun@0"
122 ; CHECK-GCC: " -export:thisfun" 120 ; CHECK-GCC: " -export:thisfun"
123 ; CHECK-GCC: " -export:lnk1" 121 ; CHECK-GCC: " -export:lnk1"
124 ; CHECK-GCC: " -export:lnk2" 122 ; CHECK-GCC: " -export:lnk2"