Fix a Mach-O assembler segfault for a subtraction expression with an undefined symbol.
[oota-llvm.git] / test / MC / MachO / reloc-diff.s
1 // RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s
2
3 // CHECK: # Relocation 0
4 // CHECK: (('word-0', 0xa2000014),
5 // CHECK:  ('word-1', 0x0)),
6 // CHECK: # Relocation 1
7 // CHECK: (('word-0', 0xa1000000),
8 // CHECK:  ('word-1', 0x0)),
9 // CHECK: # Relocation 2
10 // CHECK: (('word-0', 0xa4000010),
11 // CHECK:  ('word-1', 0x0)),
12 // CHECK: # Relocation 3
13 // CHECK: (('word-0', 0xa1000000),
14 // CHECK:  ('word-1', 0x0)),
15 // CHECK: # Relocation 4
16 // CHECK: (('word-0', 0xa400000c),
17 // CHECK:  ('word-1', 0x0)),
18 // CHECK: # Relocation 5
19 // CHECK: (('word-0', 0xa1000000),
20 // CHECK:  ('word-1', 0x0)),
21 // CHECK: # Relocation 6
22 // CHECK: (('word-0', 0xa4000008),
23 // CHECK:  ('word-1', 0x0)),
24 // CHECK: # Relocation 7
25 // CHECK: (('word-0', 0xa1000000),
26 // CHECK:  ('word-1', 0x0)),
27 // CHECK: # Relocation 8
28 // CHECK: (('word-0', 0xa4000004),
29 // CHECK:  ('word-1', 0x0)),
30 // CHECK: # Relocation 9
31 // CHECK: (('word-0', 0xa1000000),
32 // CHECK:  ('word-1', 0x0)),
33 // CHECK: # Relocation 10
34 // CHECK: (('word-0', 0xa2000000),
35 // CHECK:  ('word-1', 0x0)),
36 // CHECK: # Relocation 11
37 // CHECK: (('word-0', 0xa1000000),
38 // CHECK:  ('word-1', 0x0)),
39 // CHECK-NEXT: ])
40
41 _local_def:
42         .globl _external_def
43 _external_def:
44 Ltemp:
45         ret
46         
47         .data
48         .long _external_def - _local_def
49         .long Ltemp - _local_def
50
51         .long _local_def - _external_def
52         .long Ltemp - _external_def
53
54         .long _local_def - Ltemp
55         .long _external_def - Ltemp