From 0fc8fc75a9d505dde92c0d6d8826b6384dfb5e2a Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Sun, 5 Jan 2025 11:37:15 -0800 Subject: [PATCH] [MC,test] Improve nesting macro test 9d94a4eee9d30487c5d6b1478a7195523f6db1ca added support for nested .macro . Mov the test to macro-nesting.s and add another test to test \+ and \@. --- .../MC/AsmParser/macro-def-in-instantiation.s | 19 -------- llvm/test/MC/AsmParser/macro-nesting.s | 45 +++++++++++++++++++ 2 files changed, 45 insertions(+), 19 deletions(-) create mode 100644 llvm/test/MC/AsmParser/macro-nesting.s diff --git a/llvm/test/MC/AsmParser/macro-def-in-instantiation.s b/llvm/test/MC/AsmParser/macro-def-in-instantiation.s index b6df62ea98528c..96ddde824904c1 100644 --- a/llvm/test/MC/AsmParser/macro-def-in-instantiation.s +++ b/llvm/test/MC/AsmParser/macro-def-in-instantiation.s @@ -9,22 +9,3 @@ make_macro .macro,mybyte,a,.byte,\a,.endm # CHECK: .byte 42 mybyte 42 - -# PR18599 -.macro macro_a - .macro macro_b - .byte 10 - .macro macro_c - .endm - - macro_c - .purgem macro_c - .endm - - macro_b -.endm - -# CHECK: .byte 10 -# CHECK: .byte 10 -macro_a -macro_b diff --git a/llvm/test/MC/AsmParser/macro-nesting.s b/llvm/test/MC/AsmParser/macro-nesting.s new file mode 100644 index 00000000000000..37561a6313c029 --- /dev/null +++ b/llvm/test/MC/AsmParser/macro-nesting.s @@ -0,0 +1,45 @@ +# RUN: llvm-mc -triple=x86_64 %s | FileCheck %s + +# CHECK: .globl inside_at_0 +# CHECK-NEXT: .globl inside_plus_0 +# CHECK-NEXT: inside_at_0: +# CHECK-NEXT: inside_plus_0: +# CHECK-NEXT: .globl after_at_0 +# CHECK-NEXT: .globl after_plus_0 +# CHECK-NEXT: after_at_0: +# CHECK-NEXT: after_plus_0: + +.macro outer1 + .macro inner1 + .globl inside_at_\@ + .globl inside_plus_\+ + inside_at_\@: + inside_plus_\+: + .endm + inner1 + .globl after_at_\@ + .globl after_plus_\+ + after_at_\@: + after_plus_\+: +.endm + +outer1 + +# PR18599 +.macro macro_a + .macro macro_b + .byte 10 + .macro macro_c + .endm + + macro_c + .purgem macro_c + .endm + + macro_b +.endm + +# CHECK: .byte 10 +# CHECK: .byte 10 +macro_a +macro_b