<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/67233>67233</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
String concatenation in inline assembly not working for .asciz/.string
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
medhefgo
</td>
</tr>
</table>
<pre>
All three directives allow string concatenation with GNU as while the llvm assembler rejects the latter two.
At least for `.asciz`, the GNU as manual is explicit:
> Note that multiple string arguments not separated by commas will be concatenated together and only one final zero byte will be stored.
```
$ cat test.c
asm(".ascii \"a\" \"b\"");
asm(".asciz \"a\" \"b\"");
asm(".string \"a\" \"b\"");
$ clang -c -o /dev/null /tmp/test.c
<inline asm>:2:12: error: unexpected token
.asciz "a" "b"
^
<inline asm>:3:13: error: unexpected token
.string "a" "b"
^
2 errors generated.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVM1ypCwUfRrc3GrLBrXbhYvOj98um6_mARCvygShC67pdJ5-CrUnmalMTWqUAhEP55yrRxmCHixizYo7VjwkcqbR-XrCbsR-cEnrumt9MgZo9IjQaY-K9AsGkMa4CwTy2g6gnFWS0ErSzsJF0wj_PX0DGeAyaoNAI4IxLxPIEHBqDXrw-B0VhXVJEqEHuriUZQ8sO639icCgDAS988DKLJVB6TdWZozfL7iNY5J2lgZ0AHw9G600MXH6uBETj_DkKOqQBNNsSJ8N3sRLP8wTWgpgHUHAs_SSsIP2CspNUzShjYEWP9jEDsgNSCN6kLYDZ80VnEXotZUG3tA7aK-EP6GBnMcuhV9kldnW1inPQUkCwkCpWu_JMDF-ZJwv3jWw4p5xLtdhm7XrsLSKibvPkG__hNwK9HXoByNG2gF2CnYOGG86fGG8sbMxcUbTOfaLz1tFxL22RluESC8emThxJk772AF673y8mC2-nlGt5X9Gu2JvDqPGKDCq43xdg_eDFY9_5BKRS3yF61aTv5C9s_F1ywADWly-rPS31590tegqUckE631ZFXl5yKpjMtaK837f9YdWlaKX_QFlzruqKLs-nlWX6JpnXGQVF_t9lhfH9HCsijZvVdmpfZ7JPcsznKQ2aUxf6vyQ6BBmrMsDFyIxskUTluxzbvECy2K0Uzwkvo6YXTsPgeWZ0YHC-y6kyWD9_2fp17Ft1V3Cfl1ydXH-OT4cs7wFmTdbNZPZm3okOocYXN4w3gyaxrlNlZsYbyLtNuzO3sUfB-PNIjYw3ixmfgQAAP__gPVyHg">