1# RUN: lld-link /entry:main /out:%t.exe /subsystem:windows \
2# RUN:   %p/Inputs/ret42.obj
3# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s
4
5CHECK1: MajorOperatingSystemVersion: 6
6CHECK1: MinorOperatingSystemVersion: 0
7CHECK1: MajorSubsystemVersion: 6
8CHECK1: MinorSubsystemVersion: 0
9CHECK1: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI
10
11# RUN: lld-link /entry:main /out:%t.exe /subsystem:windows,8.9 \
12# RUN:   %p/Inputs/ret42.obj
13# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s
14
15# RUN: lld-link /entry:main /out:%t.exe /subsystem:windows,8.09 \
16# RUN:   %p/Inputs/ret42.obj
17# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s
18
19CHECK2: MajorOperatingSystemVersion: 8
20CHECK2: MinorOperatingSystemVersion: 9
21CHECK2: MajorSubsystemVersion: 8
22CHECK2: MinorSubsystemVersion: 9
23CHECK2: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI
24
25# RUN: lld-link /entry:main /out:%t.exe /subsystem:default,8.9 \
26# RUN:   %p/Inputs/ret42.obj
27# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK3 %s
28
29CHECK3: MajorOperatingSystemVersion: 8
30CHECK3: MinorOperatingSystemVersion: 9
31CHECK3: MajorSubsystemVersion: 8
32CHECK3: MinorSubsystemVersion: 9
33
34# RUN: lld-link /entry:main /out:%t.exe /osversion:1.2 \
35# RUN:   %p/Inputs/ret42.obj
36# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK4 %s
37
38CHECK4: MajorOperatingSystemVersion: 1
39CHECK4: MinorOperatingSystemVersion: 2
40CHECK4: MajorSubsystemVersion: 6
41CHECK4: MinorSubsystemVersion: 0
42
43# RUN: lld-link /entry:main /out:%t.exe /osversion:1.2 /subsystem:default,3.4 \
44# RUN:   %p/Inputs/ret42.obj
45# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=CHECK5 %s
46
47CHECK5: MajorOperatingSystemVersion: 1
48CHECK5: MinorOperatingSystemVersion: 2
49CHECK5: MajorSubsystemVersion: 3
50CHECK5: MinorSubsystemVersion: 4
51