X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=test%2FCodeGen%2FX86%2Fdllexport-x86_64.ll;h=58e25f923971e347fba909273f2f6f50790af1ad;hp=6bf73aa536671934590e0c73af21603b36225259;hb=417a782401d671d2434d8bcedc6b10a5076525cd;hpb=38f68c5a2e3993a3ae51421d82e57ccca8f6ec38 diff --git a/test/CodeGen/X86/dllexport-x86_64.ll b/test/CodeGen/X86/dllexport-x86_64.ll index 6bf73aa5366..58e25f92397 100644 --- a/test/CodeGen/X86/dllexport-x86_64.ll +++ b/test/CodeGen/X86/dllexport-x86_64.ll @@ -17,19 +17,16 @@ define dllexport void @f2() unnamed_addr { ret void } -; CHECK: .section .text,"xr",discard,lnk1 ; CHECK: .globl lnk1 define linkonce_odr dllexport void @lnk1() { ret void } -; CHECK: .section .text,"xr",discard,lnk2 ; CHECK: .globl lnk2 define linkonce_odr dllexport void @lnk2() alwaysinline { ret void } -; CHECK: .section .text,"xr",discard,weak1 ; CHECK: .globl weak1 define weak_odr dllexport void @weak1() { ret void @@ -40,40 +37,67 @@ define weak_odr dllexport void @weak1() { ; CHECK: .globl Var1 @Var1 = dllexport global i32 1, align 4 -; CHECK: .rdata,"r" +; CHECK: .rdata,"dr" ; CHECK: .globl Var2 @Var2 = dllexport unnamed_addr constant i32 1 ; CHECK: .comm Var3 @Var3 = common dllexport global i32 0, align 4 -; CHECK: .section .data,"w",discard,WeakVar1 ; CHECK: .globl WeakVar1 @WeakVar1 = weak_odr dllexport global i32 1, align 4 -; CHECK: .section .rdata,"r",discard,WeakVar2 ; CHECK: .globl WeakVar2 @WeakVar2 = weak_odr dllexport unnamed_addr constant i32 1 +; CHECK: .globl alias +; CHECK: alias = notExported +@alias = dllexport alias void(), void()* @notExported + +; CHECK: .globl alias2 +; CHECK: alias2 = f1 +@alias2 = dllexport alias void(), void()* @f1 + +; CHECK: .globl alias3 +; CHECK: alias3 = notExported +@alias3 = dllexport alias void(), void()* @notExported + +; CHECK: .weak weak_alias +; CHECK: weak_alias = f1 +@weak_alias = weak_odr dllexport alias void(), void()* @f1 + +@blob = global [6 x i8] c"\B8*\00\00\00\C3", section ".text", align 16 +@blob_alias = dllexport alias i32 (), bitcast ([6 x i8]* @blob to i32 ()*) + ; CHECK: .section .drectve -; WIN32: /EXPORT:Var1,DATA -; WIN32: /EXPORT:Var2,DATA -; WIN32: /EXPORT:Var3,DATA -; WIN32: /EXPORT:WeakVar1,DATA -; WIN32: /EXPORT:WeakVar2,DATA ; WIN32: /EXPORT:f1 -; WIN32: /EXPORT:f2 -; WIN32: /EXPORT:lnk1 -; WIN32: /EXPORT:lnk2 -; WIN32: /EXPORT:weak1 -; MINGW: -export:Var1,data -; MINGW: -export:Var2,data -; MINGW: -export:Var3,data -; MINGW: -export:WeakVar1,data -; MINGW: -export:WeakVar2,data +; WIN32-SAME: /EXPORT:f2 +; WIN32-SAME: /EXPORT:lnk1 +; WIN32-SAME: /EXPORT:lnk2 +; WIN32-SAME: /EXPORT:weak1 +; WIN32-SAME: /EXPORT:Var1,DATA +; WIN32-SAME: /EXPORT:Var2,DATA +; WIN32-SAME: /EXPORT:Var3,DATA +; WIN32-SAME: /EXPORT:WeakVar1,DATA +; WIN32-SAME: /EXPORT:WeakVar2,DATA +; WIN32-SAME: /EXPORT:alias +; WIN32-SAME: /EXPORT:alias2 +; WIN32-SAME: /EXPORT:alias3 +; WIN32-SAME: /EXPORT:weak_alias +; WIN32-SAME: /EXPORT:blob_alias ; MINGW: -export:f1 -; MINGW: -export:f2 -; MINGW: -export:lnk1 -; MINGW: -export:lnk2 -; MINGW: -export:weak1 +; MINGW-SAME: -export:f2 +; MINGW-SAME: -export:lnk1 +; MINGW-SAME: -export:lnk2 +; MINGW-SAME: -export:weak1 +; MINGW-SAME: -export:Var1,data +; MINGW-SAME: -export:Var2,data +; MINGW-SAME: -export:Var3,data +; MINGW-SAME: -export:WeakVar1,data +; MINGW-SAME: -export:WeakVar2,data +; MINGW-SAME: -export:alias +; MINGW-SAME: -export:alias2 +; MINGW-SAME: -export:alias3 +; MINGW-SAME: -export:weak_alias +; MINGW-SAME: -export:blob_alias"