1 # RUN: yaml2obj %p/Inputs/export.yaml -o %t.obj
3 # RUN: lld-link -out:%t.dll -dll %t.obj 2>&1 \
4 # RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
5 # RUN: touch -t 198002011200.00 %t.lib
6 # RUN: lld-link -out:%t.dll -dll %t.obj
7 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
9 # RUN: lld-link -out:%t.dll -dll -incremental %t.obj 2>&1 \
10 # RUN: | FileCheck -allow-empty -check-prefix=WARN-REF %s
11 # RUN: touch -t 198002011200.00 %t.lib
12 # RUN: lld-link -out:%t.dll -dll -incremental %t.obj
13 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
15 # RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf %t.obj 2>&1 \
16 # RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
17 # RUN: touch -t 198002011200.00 %t.lib
18 # RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf %t.obj
19 # RUN: ls -l %t.lib | FileCheck -check-prefix=KEEP %s
21 # RUN: lld-link -out:%t.dll -dll -debug %t.obj 2>&1 \
22 # RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
23 # RUN: touch -t 198002011200.00 %t.lib
24 # RUN: lld-link -out:%t.dll -dll -debug %t.obj
25 # RUN: ls -l %t.lib | FileCheck -check-prefix=KEEP %s
27 # RUN: lld-link -out:%t.dll -dll -debug -incremental:no %t.obj 2>&1 \
28 # RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
29 # RUN: touch -t 198002011200.00 %t.lib
30 # RUN: lld-link -out:%t.dll -dll -debug -incremental:no %t.obj
31 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
33 # RUN: lld-link -out:%t.dll -dll -opt:icf %t.obj 2>&1 \
34 # RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
35 # RUN: touch -t 198002011200.00 %t.lib
36 # RUN: lld-link -out:%t.dll -dll -opt:icf %t.obj
37 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
39 # RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,icf %t.obj 2>&1 \
40 # RUN: | FileCheck -check-prefix=WARN-ICF %s
41 # RUN: touch -t 198002011200.00 %t.lib
42 # RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,icf %t.obj
43 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
45 # RUN: lld-link -out:%t.dll -dll -debug -opt:icf %t.obj 2>&1 \
46 # RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
47 # RUN: touch -t 198002011200.00 %t.lib
48 # RUN: lld-link -out:%t.dll -dll -debug -opt:icf %t.obj
49 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
51 # RUN: lld-link -out:%t.dll -dll -opt:ref %t.obj 2>&1 \
52 # RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
53 # RUN: touch -t 198002011200.00 %t.lib
54 # RUN: lld-link -out:%t.dll -dll -opt:ref %t.obj
55 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
57 # RUN: lld-link -out:%t.dll -dll -incremental -opt:ref %t.obj 2>&1 \
58 # RUN: | FileCheck -check-prefix=WARN-REF %s
59 # RUN: touch -t 198002011200.00 %t.lib
60 # RUN: lld-link -out:%t.dll -dll -incremental -opt:ref %t.obj
61 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
64 # RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf %t.obj \
65 # RUN: -order:@%t.order 2>&1 | FileCheck -check-prefix=WARN-ORDER %s
66 # RUN: touch -t 198002011200.00 %t.lib
67 # RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf -order:@%t.order %t.obj
68 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
70 # RUN: lld-link -out:%t.dll -dll -opt:noref,noicf %t.obj \
71 # RUN: -order:@%t.order 2>&1 | FileCheck -allow-empty -check-prefix=NOWARN %s
72 # RUN: touch -t 198002011200.00 %t.lib
73 # RUN: lld-link -out:%t.dll -dll -opt:noref,noicf -order:@%t.order %t.obj
74 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
76 # RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf %t.obj \
77 # RUN: -profile 2>&1 | FileCheck -check-prefix=WARN-PROFILE %s
78 # RUN: touch -t 198002011200.00 %t.lib
79 # RUN: lld-link -out:%t.dll -dll -incremental -opt:noref,noicf -profile %t.obj
80 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
82 # RUN: lld-link -out:%t.dll -dll -opt:noref,noicf %t.obj \
83 # RUN: -profile 2>&1 | FileCheck -allow-empty -check-prefix=NOWARN %s
84 # RUN: touch -t 198002011200.00 %t.lib
85 # RUN: lld-link -out:%t.dll -dll -opt:noref,noicf -profile %t.obj
86 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
88 # RUN: lld-link -out:%t.dll -dll -debug -opt:ref %t.obj 2>&1 \
89 # RUN: | FileCheck -allow-empty -check-prefix=NOWARN %s
90 # RUN: touch -t 198002011200.00 %t.lib
91 # RUN: lld-link -out:%t.dll -dll -debug -opt:ref %t.obj
92 # RUN: ls -l %t.lib | FileCheck -check-prefix=NOKEEP %s
94 # NOWARN-NOT: ignoring '/incremental'
95 # WARN-ICF: ignoring '/incremental' because ICF is enabled; use '/opt:noicf' to disable
96 # WARN-REF: ignoring '/incremental' because REF is enabled; use '/opt:noref' to disable
97 # WARN-ORDER: ignoring '/incremental' due to '/order' specification
98 # WARN-PROFILE: ignoring '/incremental' due to '/profile' specification
99 # KEEP: {{Feb 1 1980|Feb 01 1980|1980-02-01}}
100 # NOKEEP-NOT: {{Feb 1 1980|Feb 01 1980|1980-02-01}}