<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/147217>147217</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Invalid attribute accepted dealing with # and ## operators
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
pinskia
</td>
</tr>
</table>
<pre>
Forwarded from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120978 because clang is the only major compiler which accepts this (EDG, GCC and MSVC all reject this for having # and ## operators outside of macros).
```
[[ignored::ignored(##)]]int main(){}
```
The way I read the standard is during phase 4, this should be diagnostic as invalid. Which is exactly how GCC, EDG and MSVC all do as `##` operator is invalid outside of the function like macros.
But I could be reading the spec wrong but with clang being the odd one out though; it looks more likely a clang issue.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0k0-P4zYMxT-NfCHWcOQkjg8-JJP1YA49tWiPBSUxlnZkKdCfcdNPX8jxbNsFFhCQGKYe3_uZxBjN5IgGdriww7XCnLQPw924-G6wEl49htGHBYMiBbfgZ9Ap3SNrz4yPjI-TlPXkcu3DxPgo8vS3sRYZH6P2y58iT7WcDGtHo1h73fGm704gSGKOBNKim8BESJrAO_uAGb_5ANLPd2MpwKKN1IBS0j2VKhOB8dPX6yvjL_D68gLoFPzy6-8vgNZCoG8k07Ps5gNo_DBuAsbbtY7xtvz1dwqYfIjgc4pGEfgbzCiDj4z3NWvO5Ryb7TTnlczFTM4HUiV3e_584KenKOM9O1zZ4WpcghmNW9_0rLuw7vqjXHP-TRMs-IA3CIRqTR8TOoVBFRoqh-L7rjES7EvUNVLUPlsFgkAZnJyPyUjACMZ9oDWqhj9WWiYC_YUy2QdovxRKReHr9fX_sJQvd4ulZ4Jj851MkdhE_8uo2LxlJ5PxDqx5p43ahuySE7yB_PRYkpUUa7g7SViCdxOInGAxSW_fXtBnjVcKvKPSEJL2edKsvYBJYL1_jzD7QGtT-wD8PjgxU12poVV922NFw6477E5t3zVtpYfuKKhFIfGEctfuBPX7Y9dhp1R_xJYfKjPwhh-arjly3px4W8vbjR97oTrR3G6n3YHtG5rR2Nraj7lMeLW2HHb7ju-6yqIgG9fN4dzR8jTEOC-LFIZy6YvIU2T7xpqY4r8yySRLw9vGGFMKRuRE26STAkVoC5kV1c8GuMrBDj9so0k6i1r6mfGxtNt-vtyDL8vB-LiajIyPW4qPgf8TAAD__1eHTVU">