summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-09-17 02:47:07 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-09-17 02:47:07 +0000
commitcceba838935b5018fddf7118bb8b9e6f50bbbe45 (patch)
tree2db18a9bfd589b8a018fed03acccc6933d60c129 /test
parent96b5f7113a10dd34b56b5ca5f7bda49072b2fc8c (diff)
downloadllvm-cceba838935b5018fddf7118bb8b9e6f50bbbe45.tar.gz
llvm-cceba838935b5018fddf7118bb8b9e6f50bbbe45.tar.bz2
llvm-cceba838935b5018fddf7118bb8b9e6f50bbbe45.tar.xz
MC/AsmParser: Add support for 'a + 4@GOTPCREL' and friends, by reconsing the
expression to include the modifier. - Gross, but this a corner case we don't expect to see often in practice, but it is worth accepting. - Also improves diagnostics on invalid modifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114154 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/AsmParser/expr_symbol_modifiers.s14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/MC/AsmParser/expr_symbol_modifiers.s b/test/MC/AsmParser/expr_symbol_modifiers.s
new file mode 100644
index 0000000000..7371c97cbd
--- /dev/null
+++ b/test/MC/AsmParser/expr_symbol_modifiers.s
@@ -0,0 +1,14 @@
+// RUN: not llvm-mc -triple x86_64-unknown-unknown %s > %t 2> %t.err
+// RUN: FileCheck < %t %s
+// RUN: FileCheck -check-prefix=CHECK-STDERR < %t.err %s
+
+// CHECK: .long 1
+.long 1
+// CHECK-STDERR: invalid modifier 'GOTPCREL' (no symbols present)
+.long 10 + 4@GOTPCREL
+// CHECK: .long a@GOTPCREL+4
+.long a + 4@GOTPCREL
+// CHECK: .long a@GOTPCREL+b@GOTPCREL
+.long (a + b)@GOTPCREL
+// CHECK: .long (10+b@GOTPCREL)+4
+.long 10 + b + 4@GOTPCREL