// 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 = |