// RUN: llvm-mc -triple x86_64-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s // Test case for rdar://9356266 // This tests that this expression does not cause a crash and produces these // four relocation entries: // Relocation information (__DATA,__data) 4 entries // address pcrel length extern type scattered symbolnum/value // 00000004 False long False SUB False 2 (__DATA,__data) // 00000004 False long False UNSIGND False 2 (__DATA,__data) // 00000000 False long False SUB False 2 (__DATA,__data) // 00000000 False long False UNSIGND False 2 (__DATA,__data) .data L_var1: L_var2: // This was working fine .long L_var2 - L_var1 .set L_var3, . .set L_var4, . // But this was causing a crash .long L_var4 - L_var3 // CHECK: ('_relocations', [ // CHECK: # Relocation 0 // CHECK: (('word-0', 0x4), // CHECK: ('word-1', 0x54000002)), // CHECK: # Relocation 1 // CHECK: (('word-0', 0x4), // CHECK: ('word-1', 0x4000002)), // CHECK: # Relocation 2 // CHECK: (('word-0', 0x0), // CHECK: ('word-1', 0x54000002)), // CHECK: # Relocation 3 // CHECK: (('word-0', 0x0), // CHECK: ('word-1', 0x4000002)), // CHECK: ])