brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · b640e63 Raw
138 lines · plain
1; RUN: llc -mtriple x86_64-pc-win32   < %s | FileCheck -check-prefix=CHECK -check-prefix=WIN32 %s2; RUN: llc -mtriple x86_64-pc-uefi   < %s | FileCheck -check-prefix=CHECK -check-prefix=WIN32 %s3; RUN: llc -mtriple x86_64-pc-mingw32 < %s | FileCheck -check-prefix=CHECK -check-prefix=MINGW %s4; RUN: llc -mtriple x86_64-pc-win32   < %s | FileCheck -check-prefix=NOTEXPORTED %s5; RUN: llc -mtriple x86_64-pc-mingw32 < %s | FileCheck -check-prefix=NOTEXPORTED %s6 7; CHECK: .text8 9define void @notExported() {10	ret void11}12 13; CHECK: .globl f114define dllexport void @f1() {15	ret void16}17 18; CHECK: .globl f219define dllexport void @f2() unnamed_addr {20	ret void21}22 23; CHECK: .globl lnk124$lnk1 = comdat any25 26define linkonce_odr dllexport void @lnk1() comdat {27	ret void28}29 30; CHECK: .globl lnk231$lnk2 = comdat any32 33define linkonce_odr dllexport void @lnk2() alwaysinline comdat {34	ret void35}36 37; CHECK: .weak weak138define weak_odr dllexport void @weak1() {39	ret void40}41 42 43; CHECK: .data44; CHECK: .globl Var145@Var1 = dllexport global i32 1, align 446 47; CHECK: .rdata,"dr"48; CHECK: .globl Var249@Var2 = dllexport unnamed_addr constant i32 150 51; CHECK: .comm Var352@Var3 = common dllexport global i32 0, align 453 54; CHECK: .weak WeakVar155@WeakVar1 = weak_odr dllexport global i32 1, align 456 57; CHECK: .weak WeakVar258@WeakVar2 = weak_odr dllexport unnamed_addr constant i32 159 60; CHECK: .bss61; CHECK: .weak WeakVar362@WeakVar3 = weak_odr dllexport global i32 0, align 463 64 65; Verify items that should not be exported do not appear in the export table.66; We use a separate check prefix to avoid confusion between -NOT and -SAME.67; NOTEXPORTED: .section .drectve68; NOTEXPORTED-NOT: :notExported69; NOTEXPORTED-NOT: :aliasNotExported70; NOTEXPORTED-NOT: :exportedButNotDefinedVariable71; NOTEXPORTED-NOT: :exportedButNotDefinedFunction72 73; CHECK: .section .drectve74; WIN32: .ascii " /EXPORT:f1"75; WIN32: .ascii " /EXPORT:f2"76; WIN32: .ascii " /EXPORT:lnk1"77; WIN32: .ascii " /EXPORT:lnk2"78; WIN32: .ascii " /EXPORT:weak1"79; WIN32: .ascii " /EXPORT:Var1,DATA"80; WIN32: .ascii " /EXPORT:Var2,DATA"81; WIN32: .ascii " /EXPORT:Var3,DATA"82; WIN32: .ascii " /EXPORT:WeakVar1,DATA"83; WIN32: .ascii " /EXPORT:WeakVar2,DATA"84; WIN32: .ascii " /EXPORT:WeakVar3,DATA"85; WIN32: .ascii " /EXPORT:alias"86; WIN32: .ascii " /EXPORT:alias2"87; WIN32: .ascii " /EXPORT:alias3"88; WIN32: .ascii " /EXPORT:weak_alias"89; WIN32: .ascii " /EXPORT:blob_alias"90; MINGW: .ascii " -export:f1"91; MINGW: .ascii " -export:f2"92; MINGW: .ascii " -export:lnk1"93; MINGW: .ascii " -export:lnk2"94; MINGW: .ascii " -export:weak1"95; MINGW: .ascii " -export:Var1,data"96; MINGW: .ascii " -export:Var2,data"97; MINGW: .ascii " -export:Var3,data"98; MINGW: .ascii " -export:WeakVar1,data"99; MINGW: .ascii " -export:WeakVar2,data"100; MINGW: .ascii " -export:WeakVar3,data"101; MINGW: .ascii " -export:alias"102; MINGW: .ascii " -export:alias2"103; MINGW: .ascii " -export:alias3"104; MINGW: .ascii " -export:weak_alias"105; MINGW: .ascii " -export:blob_alias"106 107; CHECK: .globl alias108; CHECK: alias = notExported109@alias = dllexport alias void(), ptr @notExported110 111; CHECK: .globl aliasNotExported112; CHECK: aliasNotExported = f1113@aliasNotExported = alias void(), ptr @f1114 115; CHECK: .globl alias2116; CHECK: alias2 = f1117@alias2 = dllexport alias void(), ptr @f1118 119; CHECK: .globl alias3120; CHECK: alias3 = notExported121@alias3 = dllexport alias void(), ptr @notExported122 123; CHECK: .weak weak_alias124; CHECK: weak_alias = f1125@weak_alias = weak_odr dllexport alias void(), ptr @f1126 127@blob = global [6 x i8] c"\B8*\00\00\00\C3", section ".text", align 16128@blob_alias = dllexport alias i32 (), ptr @blob129 130@exportedButNotDefinedVariable = external dllexport global i32131declare dllexport void @exportedButNotDefinedFunction()132define void @foo() {133entry:134  store i32 4, ptr @exportedButNotDefinedVariable, align 4135  call void @exportedButNotDefinedFunction()136  ret void137}138