Heuristic: If the number of operands in the alias are more than the number of
[llvm/stm8.git] / test / MC / COFF / weak.s
blob0f99313c9c034b98d30a958fb572c0e81d0f63bd
1 // This tests that default-null weak symbols (a GNU extension) are created
2 // properly via the .weak directive.
4 // RUN: llvm-mc -filetype=obj -triple i686-pc-win32 < %s | coff-dump.py | FileCheck %s
6 .def _main;
7 .scl 2;
8 .type 32;
9 .endef
10 .text
11 .globl _main
12 .align 16, 0x90
13 _main: # @main
14 # BB#0: # %entry
15 subl $4, %esp
16 movl $_test_weak, %eax
17 testl %eax, %eax
18 je LBB0_2
19 # BB#1: # %if.then
20 calll _test_weak
21 movl $1, %eax
22 addl $4, %esp
23 ret
24 LBB0_2: # %return
25 xorl %eax, %eax
26 addl $4, %esp
27 ret
29 .weak _test_weak
31 // CHECK: Symbols = [
33 // CHECK: Name = _test_weak
34 // CHECK-NEXT: Value = 0
35 // CHECK-NEXT: SectionNumber = 0
36 // CHECK-NEXT: SimpleType = IMAGE_SYM_TYPE_NULL (0)
37 // CHECK-NEXT: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
38 // CHECK-NEXT: StorageClass = IMAGE_SYM_CLASS_WEAK_EXTERNAL (105)
39 // CHECK-NEXT: NumberOfAuxSymbols = 1
40 // CHECK-NEXT: AuxillaryData =
41 // CHECK-NEXT: 05 00 00 00 02 00 00 00 - 00 00 00 00 00 00 00 00 |................|
42 // CHECK-NEXT: 00 00 |..|
44 // CHECK: Name = .weak._test_weak.default
45 // CHECK-NEXT: Value = 0
46 // CHECK-NEXT: SectionNumber = 65535
47 // CHECK-NEXT: SimpleType = IMAGE_SYM_TYPE_NULL (0)
48 // CHECK-NEXT: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
49 // CHECK-NEXT: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
50 // CHECK-NEXT: NumberOfAuxSymbols = 0
51 // CHECK-NEXT: AuxillaryData =