# RUN: llvm-mc -triple=x86_64 %s | FileCheck %s .macro empty, cond .endm empty ne # CHECK: .ascii "3 \003" .macro escape a .ascii "\a \\a" .endm escape 3 .macro double first = -1, second = -1 .long \first .long \second .endm # CHECK: .long -1 # CHECK-NEXT: .long -1 # CHECK-EMPTY: double # CHECK: .long -1 # CHECK-NEXT: .long -1 # CHECK-EMPTY: double , # CHECK: .long 1 # CHECK-NEXT: .long -1 double 1 # CHECK: .long 2 # CHECK-NEXT: .long 3 double 2, 3 # CHECK: .long -1 # CHECK-NEXT: .long 4 double , 4 # CHECK: .long 5 # CHECK-NEXT: .long 6 double 5, second = 6 # CHECK: .long 7 # CHECK-NEXT: .long -1 double first = 7 # CHECK: .long -1 # CHECK-NEXT: .long 8 double second = 8 # CHECK: .long 10 # CHECK-NEXT: .long 9 double second = 9, first = 10 # CHECK: .long second+11 # CHECK-NEXT: .long -1 double second + 11 # CHECK: .long -1 # CHECK-NEXT: .long second+12 double , second + 12 # CHECK: .long second # CHECK-NEXT: .long -1 double second .macro mixed arg0 = 0, arg1 = 1 arg2 = 2, arg3 = 3 .long \arg0 .long \arg1 .long \arg2 .long \arg3 .endm # CHECK: .long 1 # CHECK-NEXT: .long 2 # CHECK-NEXT: .long 3 # CHECK-NEXT: .long 3 mixed 1, 2 3 # CHECK: .long 1 # CHECK-NEXT: .long 2 # CHECK-NEXT: .long 3 # CHECK-NEXT: .long 3 mixed 1 2, 3 # CHECK: .long 1 # CHECK-NEXT: .long 2 # CHECK-NEXT: .long 3 # CHECK-NEXT: .long 4 mixed 1 2, 3 4 .macro ascii3 _a _b _c .ascii "\_a|\_b|\_c" .endm ## 3 arguments. # CHECK: .ascii "a|b|c" ascii3 a, b, c # CHECK: .ascii "%1|%2|%3" ascii3 %1 %2 %3 # CHECK: .ascii "1|2|3" ascii3 1, 2,3 # CHECK: .ascii "1|2|3" ascii3 1,2 3 # CHECK: .ascii "1|2|3" ascii3 1 2, 3 # CHECK: .ascii "x-y|z|1" ascii3 x - y z 1 ## 2 arguments. # CHECK: .ascii "1|(2 3)|" ascii3 1, (2 3) # CHECK: .ascii "1|(2 3)|" ascii3 1 (2 3)