39 lines · plain
1# REQUIRES: x862# RUN: rm -rf %t && split-file %s %t3 4## Ensure that weak externals are considered during subsystem inference.5 6# RUN: llvm-mc -triple x86_64-windows-msvc -filetype obj -o %t/cui.obj %t/cui.s7# RUN: lld-link -out:%t/cui.exe %t/cui.obj8# RUN: llvm-readobj --file-headers %t/cui.exe | FileCheck --check-prefix=CUI %s9# RUN: llvm-mc -triple x86_64-windows-msvc -filetype obj -o %t/gui.obj %t/gui.s10# RUN: lld-link -out:%t/gui.exe %t/gui.obj11# RUN: llvm-readobj --file-headers %t/gui.exe | FileCheck --check-prefix=GUI %s12 13# CUI: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI14# GUI: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI15 16#--- cui.s17.global default_main18default_main:19 ret20 21.weak main22main = default_main23 24.global mainCRTStartup25mainCRTStartup:26 ret27 28#--- gui.s29.global default_WinMain30default_WinMain:31 ret32 33.weak WinMain34WinMain = default_WinMain35 36.global WinMainCRTStartup37WinMainCRTStartup:38 ret39