# REQUIRES: x86 # RUN: llvm-mc -triple=i686-windows-gnu %s -defsym stdcall=0 -filetype=obj -o %t.obj # RUN: lld-link -lldmingw -entry:main %t.obj -out:%t.exe # RUN: llvm-objdump -s %t.exe | FileCheck %s # RUN: llvm-mc -triple=i686-windows-gnu %s -defsym stdcall=1 -filetype=obj -o %t.stdcall.obj # RUN: lld-link -lldmingw -entry:main %t.stdcall.obj -out:%t.stdcall.exe # RUN: llvm-objdump -s %t.stdcall.exe | FileCheck %s # Check that the .eh_frame comdat was included, even if it had no symbols, # due to associativity with the symbol _foo. # CHECK: Contents of section .eh_fram: # CHECK: 403000 42 .text .def _main; .scl 2; .type 32; .endef .globl _main .p2align 4, 0x90 _main: .if stdcall==0 call _foo .else call _foo@0 .endif ret .section .eh_frame$foo,"dr" .linkonce discard .byte 0x42 .if stdcall==0 .def _foo; .else .def _foo@0; .endif .scl 2; .type 32; .endef .if stdcall==0 .section .text$foo,"xr",discard,_foo .globl _foo .p2align 4 _foo: .else .section .text$foo,"xr",discard,_foo@0 .globl _foo@0 .p2align 4 _foo@0: .endif ret