1*8fee2ee9SEric Astor; RUN: llvm-ml -filetype=s %s /Fo - | FileCheck %s 2*8fee2ee9SEric Astor 3*8fee2ee9SEric Astor.data 4*8fee2ee9SEric Astor 5*8fee2ee9SEric Astordq_single_character BYTE "a" 6*8fee2ee9SEric Astor; CHECK-LABEL: dq_single_character: 7*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 8*8fee2ee9SEric Astor; CHECK-NOT: .byte 9*8fee2ee9SEric Astor 10*8fee2ee9SEric Astordq_join BYTE "ab", "cd" 11*8fee2ee9SEric Astor; CHECK-LABEL: dq_join: 12*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 13*8fee2ee9SEric Astor; CHECK-NEXT: .byte 98 14*8fee2ee9SEric Astor; CHECK-NEXT: .byte 99 15*8fee2ee9SEric Astor; CHECK-NEXT: .byte 100 16*8fee2ee9SEric Astor; CHECK-NOT: .byte 17*8fee2ee9SEric Astor 18*8fee2ee9SEric Astordq_quote_escape BYTE "ab""""cd" 19*8fee2ee9SEric Astor; Intended result: ab""cd 20*8fee2ee9SEric Astor; CHECK-LABEL: dq_quote_escape: 21*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 22*8fee2ee9SEric Astor; CHECK-NEXT: .byte 98 23*8fee2ee9SEric Astor; CHECK-NEXT: .byte 34 24*8fee2ee9SEric Astor; CHECK-NEXT: .byte 34 25*8fee2ee9SEric Astor; CHECK-NEXT: .byte 99 26*8fee2ee9SEric Astor; CHECK-NEXT: .byte 100 27*8fee2ee9SEric Astor; CHECK-NOT: .byte 28*8fee2ee9SEric Astor 29*8fee2ee9SEric Astordq_single_quote BYTE "ab''''cd" 30*8fee2ee9SEric Astor; Intended result: ab''''cd 31*8fee2ee9SEric Astor; CHECK-LABEL: dq_single_quote: 32*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 33*8fee2ee9SEric Astor; CHECK-NEXT: .byte 98 34*8fee2ee9SEric Astor; CHECK-NEXT: .byte 39 35*8fee2ee9SEric Astor; CHECK-NEXT: .byte 39 36*8fee2ee9SEric Astor; CHECK-NEXT: .byte 39 37*8fee2ee9SEric Astor; CHECK-NEXT: .byte 39 38*8fee2ee9SEric Astor; CHECK-NEXT: .byte 99 39*8fee2ee9SEric Astor; CHECK-NEXT: .byte 100 40*8fee2ee9SEric Astor; CHECK-NOT: .byte 41*8fee2ee9SEric Astor 42*8fee2ee9SEric Astorsq_single_character BYTE 'a' 43*8fee2ee9SEric Astor; CHECK-LABEL: sq_single_character: 44*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 45*8fee2ee9SEric Astor; CHECK-NOT: .byte 46*8fee2ee9SEric Astor 47*8fee2ee9SEric Astorsq_join BYTE 'ab', 'cd' 48*8fee2ee9SEric Astor; CHECK-LABEL: sq_join: 49*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 50*8fee2ee9SEric Astor; CHECK-NEXT: .byte 98 51*8fee2ee9SEric Astor; CHECK-NEXT: .byte 99 52*8fee2ee9SEric Astor; CHECK-NEXT: .byte 100 53*8fee2ee9SEric Astor; CHECK-NOT: .byte 54*8fee2ee9SEric Astor 55*8fee2ee9SEric Astorsq_quote_escape BYTE 'ab''''cd' 56*8fee2ee9SEric Astor; Intended result: ab''cd 57*8fee2ee9SEric Astor; CHECK-LABEL: sq_quote_escape: 58*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 59*8fee2ee9SEric Astor; CHECK-NEXT: .byte 98 60*8fee2ee9SEric Astor; CHECK-NEXT: .byte 39 61*8fee2ee9SEric Astor; CHECK-NEXT: .byte 39 62*8fee2ee9SEric Astor; CHECK-NEXT: .byte 99 63*8fee2ee9SEric Astor; CHECK-NEXT: .byte 100 64*8fee2ee9SEric Astor; CHECK-NOT: .byte 65*8fee2ee9SEric Astor 66*8fee2ee9SEric Astorsq_double_quote BYTE 'ab""""cd' 67*8fee2ee9SEric Astor; Intended result: ab""""cd 68*8fee2ee9SEric Astor; CHECK-LABEL: sq_double_quote: 69*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 70*8fee2ee9SEric Astor; CHECK-NEXT: .byte 98 71*8fee2ee9SEric Astor; CHECK-NEXT: .byte 34 72*8fee2ee9SEric Astor; CHECK-NEXT: .byte 34 73*8fee2ee9SEric Astor; CHECK-NEXT: .byte 34 74*8fee2ee9SEric Astor; CHECK-NEXT: .byte 34 75*8fee2ee9SEric Astor; CHECK-NEXT: .byte 99 76*8fee2ee9SEric Astor; CHECK-NEXT: .byte 100 77*8fee2ee9SEric Astor; CHECK-NOT: .byte 78*8fee2ee9SEric Astor 79*8fee2ee9SEric Astormixed_quotes_join BYTE "a'b", 'c"d' 80*8fee2ee9SEric Astor; Intended result: a'bc"d 81*8fee2ee9SEric Astor; CHECK-LABEL: mixed_quotes_join: 82*8fee2ee9SEric Astor; CHECK-NEXT: .byte 97 83*8fee2ee9SEric Astor; CHECK-NEXT: .byte 39 84*8fee2ee9SEric Astor; CHECK-NEXT: .byte 98 85*8fee2ee9SEric Astor; CHECK-NEXT: .byte 99 86*8fee2ee9SEric Astor; CHECK-NEXT: .byte 34 87*8fee2ee9SEric Astor; CHECK-NEXT: .byte 100 88*8fee2ee9SEric Astor; CHECK-NOT: .byte 89*8fee2ee9SEric Astor 90*8fee2ee9SEric Astor.code 91*8fee2ee9SEric Astor 92*8fee2ee9SEric Astorsq_char_test PROC 93*8fee2ee9SEric Astor; CHECK-LABEL: sq_char_test: 94*8fee2ee9SEric Astor 95*8fee2ee9SEric Astor mov eax, 'a' 96*8fee2ee9SEric Astor; CHECK: mov eax, 97 97*8fee2ee9SEric Astor 98*8fee2ee9SEric Astor mov eax, '''' 99*8fee2ee9SEric Astor; CHECK: mov eax, 39 100*8fee2ee9SEric Astor 101*8fee2ee9SEric Astor mov eax, '"' 102*8fee2ee9SEric Astor; CHECK: mov eax, 34 103*8fee2ee9SEric Astor 104*8fee2ee9SEric Astor ret 105*8fee2ee9SEric Astorsq_char_test ENDP 106*8fee2ee9SEric Astor 107*8fee2ee9SEric Astordq_char_test PROC 108*8fee2ee9SEric Astor; CHECK-LABEL: dq_char_test: 109*8fee2ee9SEric Astor 110*8fee2ee9SEric Astor mov eax, "b" 111*8fee2ee9SEric Astor; CHECK: mov eax, 98 112*8fee2ee9SEric Astor 113*8fee2ee9SEric Astor mov eax, """" 114*8fee2ee9SEric Astor; CHECK: mov eax, 34 115*8fee2ee9SEric Astor 116*8fee2ee9SEric Astor mov eax, "'" 117*8fee2ee9SEric Astor; CHECK: mov eax, 39 118*8fee2ee9SEric Astor 119*8fee2ee9SEric Astor ret 120*8fee2ee9SEric Astordq_char_test ENDP 121*8fee2ee9SEric Astor 122*8fee2ee9SEric Astorstring_constant_test PROC 123*8fee2ee9SEric Astor; CHECK-LABEL: string_constant_test: 124*8fee2ee9SEric Astor 125*8fee2ee9SEric Astor mov eax, 'ab' 126*8fee2ee9SEric Astor mov eax, "ab" 127*8fee2ee9SEric Astor; CHECK: mov eax, 24930 128*8fee2ee9SEric Astor; CHECK: mov eax, 24930 129*8fee2ee9SEric Astor 130*8fee2ee9SEric Astor mov eax, "abc" 131*8fee2ee9SEric Astor mov eax, 'abc' 132*8fee2ee9SEric Astor; CHECK: mov eax, 6382179 133*8fee2ee9SEric Astor; CHECK: mov eax, 6382179 134*8fee2ee9SEric Astor 135*8fee2ee9SEric Astor mov eax, "abc""" 136*8fee2ee9SEric Astor mov eax, 'abc''' 137*8fee2ee9SEric Astor; CHECK: mov eax, 1633837858 138*8fee2ee9SEric Astor; CHECK: mov eax, 1633837863 139*8fee2ee9SEric Astor 140*8fee2ee9SEric Astor ret 141*8fee2ee9SEric Astorstring_constant_test ENDP 142*8fee2ee9SEric Astor 143*8fee2ee9SEric Astorend 144