diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2013-04-08 18:41:23 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2013-04-08 18:41:23 +0000 |
commit | 4a16efa3e43e35f0cc9efe3a67f620f0017c3d36 (patch) | |
tree | 06099edc18d30894081a822b756f117cbe0b8207 /test/MC/MachO | |
parent | 482e7bddf617ae804dc47133cb07eb4aa81e45de (diff) |
Notes
Diffstat (limited to 'test/MC/MachO')
-rw-r--r-- | test/MC/MachO/ARM/lit.local.cfg | 2 | ||||
-rw-r--r-- | test/MC/MachO/ARM/nop-armv4-padding.s | 2 | ||||
-rw-r--r-- | test/MC/MachO/bad-dollar.s | 5 | ||||
-rw-r--r-- | test/MC/MachO/bad-macro.s | 14 | ||||
-rw-r--r-- | test/MC/MachO/gen-dwarf-cpp.s | 2 | ||||
-rw-r--r-- | test/MC/MachO/gen-dwarf-macro-cpp.s | 2 | ||||
-rw-r--r-- | test/MC/MachO/gen-dwarf-producer.s | 8 | ||||
-rw-r--r-- | test/MC/MachO/gen-dwarf.s | 4 | ||||
-rw-r--r-- | test/MC/MachO/linker-option-1.s | 21 | ||||
-rw-r--r-- | test/MC/MachO/linker-option-2.s | 25 | ||||
-rw-r--r-- | test/MC/MachO/linker-options.ll | 43 |
11 files changed, 122 insertions, 6 deletions
diff --git a/test/MC/MachO/ARM/lit.local.cfg b/test/MC/MachO/ARM/lit.local.cfg index 89764637feb0b..9f0d39d9217b4 100644 --- a/test/MC/MachO/ARM/lit.local.cfg +++ b/test/MC/MachO/ARM/lit.local.cfg @@ -1,4 +1,4 @@ -config.suffixes = ['.s'] +config.suffixes = ['.s', '.ll'] targets = set(config.root.targets_to_build.split()) if not 'ARM' in targets: diff --git a/test/MC/MachO/ARM/nop-armv4-padding.s b/test/MC/MachO/ARM/nop-armv4-padding.s index 8f646dbb396a5..8e03d17a70c9a 100644 --- a/test/MC/MachO/ARM/nop-armv4-padding.s +++ b/test/MC/MachO/ARM/nop-armv4-padding.s @@ -7,4 +7,4 @@ x: .align 4 add r0, r1, r2 -@ CHECK: ('_section_data', '020081e0 00001a0e 00001a0e 00001a0e 020081e0') +@ CHECK: ('_section_data', '020081e0 0000a0e1 0000a0e1 0000a0e1 020081e0') diff --git a/test/MC/MachO/bad-dollar.s b/test/MC/MachO/bad-dollar.s new file mode 100644 index 0000000000000..fd72ed0230dba --- /dev/null +++ b/test/MC/MachO/bad-dollar.s @@ -0,0 +1,5 @@ +// RUN: not llvm-mc -triple x86_64-apple-darwin10 %s 2> %t.err > %t +// RUN: FileCheck --check-prefix=CHECK-ERROR < %t.err %s + +.long $1 +// CHECK-ERROR: 4:7: error: invalid token in expression diff --git a/test/MC/MachO/bad-macro.s b/test/MC/MachO/bad-macro.s new file mode 100644 index 0000000000000..0aaba099e8535 --- /dev/null +++ b/test/MC/MachO/bad-macro.s @@ -0,0 +1,14 @@ +// RUN: llvm-mc -triple x86_64-apple-darwin10 %s 2> %t.err > %t +// RUN: FileCheck --check-prefix=CHECK-OUTPUT < %t %s +// RUN: FileCheck --check-prefix=CHECK-ERROR < %t.err %s + +.macro test_macro reg1, reg2 +mov $1, %eax +mov $2, %eax +.endmacro +test_macro %ebx, %ecx + +// CHECK-ERROR: 5:1: warning: macro defined with named parameters which are not used in macro body, possible positional parameter found in body which will have no effect + +// CHECK-OUTPUT: movl $1, %eax +// CHECK-OUTPUT: movl $2, %eax diff --git a/test/MC/MachO/gen-dwarf-cpp.s b/test/MC/MachO/gen-dwarf-cpp.s index cb749f48eef66..e42a63a191b18 100644 --- a/test/MC/MachO/gen-dwarf-cpp.s +++ b/test/MC/MachO/gen-dwarf-cpp.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t -// RUN: llvm-dwarfdump %t | FileCheck %s +// RUN: llvm-dwarfdump -debug-dump=line %t | FileCheck %s # 100 "t.s" 1 .globl _bar diff --git a/test/MC/MachO/gen-dwarf-macro-cpp.s b/test/MC/MachO/gen-dwarf-macro-cpp.s index 05a449b4027c2..6177814b6a781 100644 --- a/test/MC/MachO/gen-dwarf-macro-cpp.s +++ b/test/MC/MachO/gen-dwarf-macro-cpp.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t -// RUN: llvm-dwarfdump %t | FileCheck %s +// RUN: llvm-dwarfdump -debug-dump=line %t | FileCheck %s # 1 "foo.S" 2 .macro switcher diff --git a/test/MC/MachO/gen-dwarf-producer.s b/test/MC/MachO/gen-dwarf-producer.s new file mode 100644 index 0000000000000..f7388db3a240a --- /dev/null +++ b/test/MC/MachO/gen-dwarf-producer.s @@ -0,0 +1,8 @@ +// RUN: env DEBUG_PRODUCER="my producer" llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t +// RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s + +.globl _bar +_bar: + ret + +// CHECK: DW_AT_producer [DW_FORM_string] ("my producer") diff --git a/test/MC/MachO/gen-dwarf.s b/test/MC/MachO/gen-dwarf.s index 4fbc32d295b71..d763dd120ab25 100644 --- a/test/MC/MachO/gen-dwarf.s +++ b/test/MC/MachO/gen-dwarf.s @@ -1,5 +1,5 @@ // RUN: llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t -// RUN: llvm-dwarfdump %t | FileCheck %s +// RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck %s .globl _bar _bar: @@ -86,7 +86,7 @@ _x: .long 1 // CHECK: .debug_aranges contents: // CHECK: Address Range Header: length = 0x0000001c, version = 0x0002, cu_offset = 0x00000000, addr_size = 0x04, seg_size = 0x00 -// CHECK: .debug_lines contents: +// CHECK: .debug_line contents: // CHECK: Line table prologue: // We don't check the total_length as it includes lengths of temp paths // CHECK: version: 2 diff --git a/test/MC/MachO/linker-option-1.s b/test/MC/MachO/linker-option-1.s new file mode 100644 index 0000000000000..a01cab78f3973 --- /dev/null +++ b/test/MC/MachO/linker-option-1.s @@ -0,0 +1,21 @@ +// RUN: not llvm-mc -triple x86_64-apple-darwin10 %s 2> %t.err > %t +// RUN: FileCheck --check-prefix=CHECK-OUTPUT < %t %s +// RUN: FileCheck --check-prefix=CHECK-ERROR < %t.err %s + +// CHECK-OUTPUT: .linker_option "a" +.linker_option "a" +// CHECK-OUTPUT: .linker_option "a", "b" +.linker_option "a", "b" +// CHECK-OUTPUT-NOT: .linker_option +// CHECK-ERROR: expected string in '.linker_option' directive +// CHECK-ERROR: .linker_option 10 +// CHECK-ERROR: ^ +.linker_option 10 +// CHECK-ERROR: expected string in '.linker_option' directive +// CHECK-ERROR: .linker_option "a", +// CHECK-ERROR: ^ +.linker_option "a", +// CHECK-ERROR: unexpected token in '.linker_option' directive +// CHECK-ERROR: .linker_option "a" "b" +// CHECK-ERROR: ^ +.linker_option "a" "b" diff --git a/test/MC/MachO/linker-option-2.s b/test/MC/MachO/linker-option-2.s new file mode 100644 index 0000000000000..bb5966be27343 --- /dev/null +++ b/test/MC/MachO/linker-option-2.s @@ -0,0 +1,25 @@ +// RUN: llvm-mc -n -triple x86_64-apple-darwin10 %s -filetype=obj | macho-dump | FileCheck %s + +// CHECK: ('load_commands_size', 104) +// CHECK: ('load_commands', [ +// CHECK: # Load Command 1 +// CHECK: (('command', 45) +// CHECK: ('size', 16) +// CHECK: ('count', 1) +// CHECK: ('_strings', [ +// CHECK: "a", +// CHECK: ]) +// CHECK: ), +// CHECK: # Load Command 2 +// CHECK: (('command', 45) +// CHECK: ('size', 16) +// CHECK: ('count', 2) +// CHECK: ('_strings', [ +// CHECK: "a", +// CHECK: "b", +// CHECK: ]) +// CHECK: ), +// CHECK: ]) + +.linker_option "a" +.linker_option "a", "b" diff --git a/test/MC/MachO/linker-options.ll b/test/MC/MachO/linker-options.ll new file mode 100644 index 0000000000000..827adfd708905 --- /dev/null +++ b/test/MC/MachO/linker-options.ll @@ -0,0 +1,43 @@ +; RUN: llc -O0 -mtriple=x86_64-apple-darwin -o - %s > %t +; RUN: FileCheck --check-prefix=CHECK-ASM < %t %s + +; CHECK-ASM: .linker_option "-lz" +; CHECK-ASM-NEXT: .linker_option "-framework", "Cocoa" + +; RUN: llc -O0 -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | macho-dump > %t +; RUN: FileCheck --check-prefix=CHECK-OBJ < %t %s + +; CHECK-OBJ: ('load_commands', [ +; CHECK-OBJ: # Load Command 1 +; CHECK-OBJ: (('command', 45) +; CHECK-OBJ: ('size', 16) +; CHECK-OBJ: ('count', 1) +; CHECK-OBJ: ('_strings', [ +; CHECK-OBJ: "-lz", +; CHECK-OBJ: ]) +; CHECK-OBJ: ), +; CHECK-OBJ: # Load Command 2 +; CHECK-OBJ: (('command', 45) +; CHECK-OBJ: ('size', 32) +; CHECK-OBJ: ('count', 2) +; CHECK-OBJ: ('_strings', [ +; CHECK-OBJ: "-framework", +; CHECK-OBJ: "Cocoa", +; CHECK-OBJ: ]) +; CHECK-OBJ: # Load Command 3 +; CHECK-OBJ: (('command', 45) +; CHECK-OBJ: ('size', 24) +; CHECK-OBJ: ('count', 1) +; CHECK-OBJ: ('_strings', [ +; CHECK-OBJ: "-lmath", +; CHECK-OBJ: ]) +; CHECK-OBJ: ), +; CHECK-OBJ: ]) + +!0 = metadata !{ i32 6, metadata !"Linker Options", + metadata !{ + metadata !{ metadata !"-lz" }, + metadata !{ metadata !"-framework", metadata !"Cocoa" }, + metadata !{ metadata !"-lmath" } } } + +!llvm.module.flags = !{ !0 } |