<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/107859>107859</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-tidy] Broken diagnostic for performance-avoid-endl
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-tidy
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
VReichelt
</td>
</tr>
</table>
<pre>
When I run `clang-tidy -checks='-*,performance-avoid-endl'` on the following code
```
#include <iostream>
#define COUT_ENDL std::cout << std::endl
void foo()
{
COUT_ENDL;
}
```
I get the message
```
bug.cc:7:3: warning: do not use '' with streams; use '\n' instead [performance-avoid-endl]
11 | COUT_ENDL;
| ^
bug.cc:3:32: note: expanded from macro 'COUT_ENDL'
7 | #define COUT_ENDL std::cout << std::endl
| ^
```
which is slightly broken (note the empty `''` in the first line).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykU0-PuzYQ_TTDZZQIxiHAgUP-bKSfVLVS1T_HyrEHcNfYETab5ttXJtlmW6W9FCHbMJrn9-bNyBBM75hbKPdQHjM5x8FP7S8_slED25idvb61vw7s8BtOs0PY5spK16-i0TdcqYHVewBxBKpWQDugw4Wnzk-jdIpX8sMbvWKnLVAF2xy9wzgwdt5afzWuR-U1Q36EfPdYt_njvX-SME7ZWTOCOBgf4sRyBPH2txwSmjvjGA8__PzTb2_fH7_DEDWIHYid8nNMuSAOz58Loy8IiSZ23gPVQM0jUu3vB3zCgth_Bo-v-S7rN-w5LkJHDkH2_6XwPPdrpUDsKhA7AWKHVzk54_p01B6djzgHxlRAqvBq4oD3KgQQ-79C5cGlsHEhstQI5f5ffCiPn6qwKBCqA77Sh8uTolC-_YNoIiko0XM-ctr5j4t0mjV2kx9xlGryidQTlqonbHWH_R-evSD30obrYNSAJmCwph-iveF58u_sEKhO1BeHeLzEW2rre4FTk5pHk5opRLTGMVCzvkNmuhW6EY3MuC0qKut622zLbGiLsig015XOS84LIYjrbqMaUbIqNk23yUxLOW3yJm8KkZOgdVNvqBCyYsWN1lTCJudRGru29mNc-6nPTAgzt0Ve1WWTWXlmG5Y5JXqOIBCluZ3alLU6z32ATW5NiOGJE020y4R_SSuPuL8XQxvZOx-iUdj5CV-3TTZPth1ivIRkBp2ATr2Jw3xeKz8CndJdj211mfzvrCLQaREQgE4PDR8t_RkAAP__ZutIoQ">