summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/AsmParser
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MC/AsmParser')
-rw-r--r--llvm/test/MC/AsmParser/macro-max-depth.s20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/MC/AsmParser/macro-max-depth.s b/llvm/test/MC/AsmParser/macro-max-depth.s
new file mode 100644
index 00000000000..47fbf9a1930
--- /dev/null
+++ b/llvm/test/MC/AsmParser/macro-max-depth.s
@@ -0,0 +1,20 @@
+// RUN: llvm-mc -triple x86_64-unknown-unknown -asm-macro-max-nesting-depth=42 %s | FileCheck %s -check-prefix=CHECK_PASS
+// RUN: not llvm-mc -triple x86_64-unknown-unknown %s 2> %t
+// RUN: FileCheck -check-prefix=CHECK_FAIL < %t %s
+
+.macro rec head, tail:vararg
+ .ifnb \tail
+ rec \tail
+ .else
+ .long 42
+ .endif
+.endm
+
+.macro amplify macro, args:vararg
+ \macro \args \args \args \args
+.endm
+
+amplify rec 0 0 0 0 0 0 0 0 0 0
+
+// CHECK_PASS: .long 42
+// CHECK_FAIL: error: macros cannot be nested more than {{[0-9]+}} levels deep. Use -asm-macro-max-nesting-depth to increase this limit.
OpenPOWER on IntegriCloud