<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61612>61612</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang-format breaks C++ User-defined literal _$
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
duduarbel
</td>
</tr>
</table>
<pre>
applying clang-format on the following code:
```
int operator"" _€(unsigned long long amount) { return amount; }
int operator"" _$(unsigned long long amount) { return amount; }
int main()
{
auto euros = 1_€ ;
auto dollars = 2_$;
return 0;
}
```
works well for the euros, but adds an extra space between the _ and the $ - which causes the compilation to fail;
```
auto euros = 1_€ ; // Ok
auto dollars = 2_ $; // compilation fails
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk81ym0AMx59GXDT2gMB8HDjEcX3tqeeMYBfYZmGZ_aibt--wduo4h_TQGc9arIT04y-JnVPjImULhyMcTgkHPxnbiiAC207qpDPireV11W9qGbHXvIy7wdiZPZoF_SRxMFqbS_QaISF_gvQE6ROU6e0XH9Xi0azSsjcWiIAIX-AbQU3w9AxUhyWCCNRmGa8H8mzC4oEahOqIVvpgl_fL_IhQnb7ITcV_Zv14bhVmVgtQDdTcPNXxaiAicvAGZbDGIeQnzO7fhpB_jhNGa7bXSIqkH0Pu1o0t_eu-sz2KezH21eFFao2DsbErkQXoGbvgkYVwyAvK394yupV7iZ30FymvLXxBXkS0gArc4WVS_YQ9ByddvO7NvCrNXm09Nziw0neoR5Z_q4FAZ6Azfn_9Uhe8CvMe_RFhq-8-VU9Em4smbziRbVZWTVERlVUytb2om0bkXZ0dqmzIiiEXVd3lfOCyrwUXiWoppTzNidI6LajaMzWl6PqhaupUpmUJRSpnVnqv9a95b-yYKOeCbMuszCjR3Ent4gIRLfKC0bnN4eGU2HZ7Z9eF0UGRauW8u2fxymvZPi5VZyW_OnwGOgId8YeTdifkoOIQKy8t6zjcSbC6nbxf3bZxUaJR-Sl0-97MQOetyO1vt1rzU_Ye6BzRHNA5ov8JAAD___mHL8g">