1# REQUIRES: x86, shell
2
3# RUN: rm -rf %t.dir
4# RUN: mkdir -p %t.dir/build1 %t.dir/build2 %t.dir/build3
5# RUN: yaml2obj < %p/Inputs/hello32.yaml > %t.obj
6
7# RUN: cd %t.dir/build1
8# RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \
9# RUN:   /entry:main@0 /linkrepro:. /out:%t.exe
10# RUN: tar xf repro.tar
11# RUN: diff %t.obj repro/%:t.obj
12# RUN: diff %p/Inputs/std32.lib repro/%:p/Inputs/std32.lib
13# RUN: FileCheck %s --check-prefix=RSP < repro/response.txt
14
15# RUN: cd %t.dir/build1
16# RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \
17# RUN:   /entry:main@0 /reproduce:repro2.tar /out:%t.exe
18# RUN: tar xf repro2.tar
19# RUN: diff %t.obj repro2/%:t.obj
20# RUN: diff %p/Inputs/std32.lib repro2/%:p/Inputs/std32.lib
21# RUN: FileCheck %s --check-prefix=RSP < repro2/response.txt
22
23# RUN: cd %t.dir/build2
24# RUN: lld-link %t.obj /libpath:%p/Inputs /defaultlib:std32 /subsystem:console \
25# RUN:   /entry:main@0 /linkrepro:. /out:%t.exe
26# RUN: tar xf repro.tar
27# RUN: diff %t.obj repro/%:t.obj
28# RUN: diff %p/Inputs/std32.lib repro/%:p/Inputs/std32.lib
29# RUN: FileCheck %s --check-prefix=RSP < repro/response.txt
30
31# RUN: cd %t.dir/build3
32# RUN: env LIB=%p/Inputs lld-link %t.obj /defaultlib:std32 /subsystem:console \
33# RUN:   /entry:main@0 /linkrepro:. /out:%t.exe
34# RUN: tar xf repro.tar
35# RUN: diff %t.obj repro/%:t.obj
36# RUN: diff %p/Inputs/std32.lib repro/%:p/Inputs/std32.lib
37# RUN: FileCheck %s --check-prefix=RSP < repro/response.txt
38
39# RSP: /subsystem:console
40# RSP: /entry:main@0
41# RSP-NOT: /linkrepro:
42# RSP: /out:
43# RSP: linkrepro.test.tmp.obj
44# RSP-NOT: defaultlib
45# RSP: std32.lib
46