diff options
Diffstat (limited to 'llvm/test/MC/AsmParser')
| -rw-r--r-- | llvm/test/MC/AsmParser/macro-max-depth.s | 20 |
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. |

