// This tests that default-null weak symbols (a GNU extension) are created // properly via the .weak directive. // RUN: llvm-mc -filetype=obj -triple i686-pc-win32 < %s | coff-dump.py | FileCheck %s .def _main; .scl 2; .type 32; .endef .text .globl _main .align 16, 0x90 _main: # @main # BB#0: # %entry subl $4, %esp movl $_test_weak, %eax testl %eax, %eax je LBB0_2 # BB#1: # %if.then calll _test_weak movl $1, %eax addl $4, %esp ret LBB0_2: # %return xorl %eax, %eax addl $4, %esp ret .weak _test_weak // CHECK: Symbols = [ // CHECK: Name = _test_weak // CHECK-NEXT: Value = 0 // CHECK-NEXT: SectionNumber = 0 // CHECK-NEXT: SimpleType = IMAGE_SYM_TYPE_NULL (0) // CHECK-NEXT: ComplexType = IMAGE_SYM_DTYPE_NULL (0) // CHECK-NEXT: StorageClass = IMAGE_SYM_CLASS_WEAK_EXTERNAL (105) // CHECK-NEXT: NumberOfAuxSymbols = 1 // CHECK-NEXT: AuxillaryData = // CHECK-NEXT: 05 00 00 00 02 00 00 00 - 00 00 00 00 00 00 00 00 |................| // CHECK-NEXT: 00 00 |..| // CHECK: Name = .weak._test_weak.default // CHECK-NEXT: Value = 0 // CHECK-NEXT: SectionNumber = 65535 // CHECK-NEXT: SimpleType = IMAGE_SYM_TYPE_NULL (0) // CHECK-NEXT: ComplexType = IMAGE_SYM_DTYPE_NULL (0) // CHECK-NEXT: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2) // CHECK-NEXT: NumberOfAuxSymbols = 0 // CHECK-NEXT: AuxillaryData =