1 ; RUN: llc -mtriple x86_64-pc-win32 < %s | FileCheck -check-prefix=CHECK -check-prefix=WIN32 %s
2 ; RUN: llc -mtriple x86_64-pc-mingw32 < %s | FileCheck -check-prefix=CHECK -check-prefix=MINGW %s
6 define void @notExported() {
11 define dllexport void @f1() {
16 define dllexport void @f2() unnamed_addr {
20 ; CHECK: .section .text,"xr",discard,lnk1
22 define linkonce_odr dllexport void @lnk1() {
26 ; CHECK: .section .text,"xr",discard,lnk2
28 define linkonce_odr dllexport void @lnk2() alwaysinline {
32 ; CHECK: .section .text,"xr",discard,weak1
34 define weak_odr dllexport void @weak1() {
41 @Var1 = dllexport global i32 1, align 4
45 @Var2 = dllexport unnamed_addr constant i32 1
48 @Var3 = common dllexport global i32 0, align 4
50 ; CHECK: .section .data,"w",discard,WeakVar1
51 ; CHECK: .globl WeakVar1
52 @WeakVar1 = weak_odr dllexport global i32 1, align 4
54 ; CHECK: .section .rdata,"r",discard,WeakVar2
55 ; CHECK: .globl WeakVar2
56 @WeakVar2 = weak_odr dllexport unnamed_addr constant i32 1
59 ; CHECK: .section .drectve
60 ; WIN32: /EXPORT:Var1,DATA
61 ; WIN32: /EXPORT:Var2,DATA
62 ; WIN32: /EXPORT:Var3,DATA
63 ; WIN32: /EXPORT:WeakVar1,DATA
64 ; WIN32: /EXPORT:WeakVar2,DATA
69 ; WIN32: /EXPORT:weak1
70 ; MINGW: -export:Var1,data
71 ; MINGW: -export:Var2,data
72 ; MINGW: -export:Var3,data
73 ; MINGW: -export:WeakVar1,data
74 ; MINGW: -export:WeakVar2,data
79 ; MINGW: -export:weak1