summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-06-15 14:02:34 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-06-15 14:02:34 +0000
commitaa7a2f2ba308656e206338fe65c422e0b6781c64 (patch)
tree0decf31bedfca33830c0e407a416c7610617ada8 /test
parent6207cb519bbe9ce31eaef9a835fe6bd57dbf0d0f (diff)
downloadllvm-aa7a2f2ba308656e206338fe65c422e0b6781c64.tar.gz
llvm-aa7a2f2ba308656e206338fe65c422e0b6781c64.tar.bz2
llvm-aa7a2f2ba308656e206338fe65c422e0b6781c64.tar.xz
Factor macro argument parsing into helper methods and add support for .irp.
Patch extracted from a larger one by the PaX team. I added the testcases and tightened error handling a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158523 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/AsmParser/macro-err1.s10
-rw-r--r--test/MC/AsmParser/macro-irp.s8
2 files changed, 18 insertions, 0 deletions
diff --git a/test/MC/AsmParser/macro-err1.s b/test/MC/AsmParser/macro-err1.s
new file mode 100644
index 0000000000..924deb0cf6
--- /dev/null
+++ b/test/MC/AsmParser/macro-err1.s
@@ -0,0 +1,10 @@
+// RUN: not llvm-mc -triple x86_64-unknown-unknown %s 2> %t
+// RUN: FileCheck < %t %s
+
+.macro foo bar
+ .long \bar
+.endm
+
+foo 42, 42
+
+// CHECK: Too many arguments
diff --git a/test/MC/AsmParser/macro-irp.s b/test/MC/AsmParser/macro-irp.s
new file mode 100644
index 0000000000..a368b7446d
--- /dev/null
+++ b/test/MC/AsmParser/macro-irp.s
@@ -0,0 +1,8 @@
+// RUN: llvm-mc -triple x86_64-unknown-unknown %s | FileCheck %s
+
+.irp reg,%eax,%ebx
+ pushl \reg
+.endr
+
+// CHECK: pushl %eax
+// CHECK: pushl %ebx