Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / COFF / dllexport.s
bloba238b70ce1b4f698def930ca91083da619c99b7d
1 # REQUIRES: x86
2 # RUN: llvm-mc -filetype=obj -triple=i686-windows-msvc %s -o %t.obj
4 # RUN: lld-link -safeseh:no -entry:dllmain -dll %t.obj -out:%t.dll -implib:%t.lib
5 # RUN: llvm-readobj %t.lib | FileCheck -check-prefix DECORATED-IMPLIB %s
6 # RUN: llvm-readobj --coff-exports %t.dll | FileCheck -check-prefix DECORATED-EXPORTS %s
8 # DECORATED-IMPLIB: Name type: name
9 # DECORATED-IMPLIB-NEXT: __imp_@fastcall@8
10 # DECORATED-IMPLIB-NEXT: @fastcall@8
11 # DECORATED-IMPLIB: Name type: name
12 # DECORATED-IMPLIB-NEXT: __imp__stdcall@8
13 # DECORATED-IMPLIB-NEXT: _stdcall@8
14 # DECORATED-IMPLIB: Name type: noprefix
15 # DECORATED-IMPLIB-NEXT: __imp___underscored
16 # DECORATED-IMPLIB-NEXT: __underscored
17 # DECORATED-IMPLIB: Name type: name
18 # DECORATED-IMPLIB-NEXT: __imp_vectorcall@@8
19 # DECORATED-IMPLIB-NEXT: vectorcall@@8
21 # DECORATED-EXPORTS: Name: @fastcall@8
22 # DECORATED-EXPORTS: Name: _stdcall@8
23 # DECORATED-EXPORTS: Name: _underscored
24 # DECORATED-EXPORTS: Name: vectorcall@@8
26 .def _stdcall@8;
27 .scl 2;
28 .type 32;
29 .endef
30 .globl _stdcall@8
31 .globl @fastcall@8
32 .globl vectorcall@@8
33 .globl __underscored
34 _stdcall@8:
35 movl 8(%esp), %eax
36 addl 4(%esp), %eax
37 retl $8
38 @fastcall@8:
39 movl 8(%esp), %eax
40 addl 4(%esp), %eax
41 retl $8
42 vectorcall@@8:
43 movl 8(%esp), %eax
44 addl 4(%esp), %eax
45 retl $8
46 __underscored:
47 ret
49 .def _dllmain;
50 .scl 2;
51 .type 32;
52 .endef
53 .globl _dllmain
54 _dllmain:
55 retl
57 .section .drectve
58 .ascii "-export:__underscored -export:_stdcall@8 -export:@fastcall@8 -export:vectorcall@@8"