<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/107715>107715</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] `_Pragma("clang diagnostic ignored \"-Wconstant-evaluated\"")` with push+pop sometimes doesn't work when there are macros involved
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
MitalAshok
</td>
</tr>
</table>
<pre>
Minimised to <https://godbolt.org/z/96d8bnsKa>:
```c++
#define _LIBCPP_DIAGNOSTIC_POP _Pragma("clang diagnostic pop")
#define A \
(_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Wconstant-evaluated\"") \
__builtin_is_constant_evaluated() \
_LIBCPP_DIAGNOSTIC_POP)
#define echo(...) __VA_ARGS__
static_assert(echo(A), "");
```
```
<source>:11:20: warning: '__builtin_is_constant_evaluated' will always evaluate to 'true' in a manifestly constant-evaluated expression [-Wconstant-evaluated]
11 | static_assert(echo(A), "");
| ^
<source>:6:4: note: expanded from macro 'A'
6 | __builtin_is_constant_evaluated() \
| ^
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVN-P4yYQ_mvGL6ON7CGE5MEPTnI5rdrrRb2qfbSIITY9DBHg5LZ_feX82N1e01tVWgsZG5hvZr75GBmjaZ3WJfAl8HUmh9T5UH4ySdoqdv5rtvPqqfxknOlN1AqTR2CrLqVDBFYBbYA2rVc7b9PEhxZo8xfQZjFT852LP0lgH8Zj-Rry23uWX0YDtBzHZZWY0nvjNNY_Py5X2229fqw-_vL5y2-Pq3r7eYv1Nsi2l0BzIGqsdC0qI1vnYzINHvwBiIAW__D0jFkh8NVlERFo_gbYELsLGv7weYX5RnimdT5odbYgevij8S4m6dKDPko7yKTVZefm9QW5rneDscm42sT6Zla_mI3-fhzmK6y7zP4nabrpPNB8MpmMLur696qufv34pa5fH49JJtPUMkYdEtD8alSNqLTC55yALb8r_11NXH_ZKvohNPqinqIAVlEOrMKTDM64dvwEEm-SI_BkrEVpT_Ip4m3jrGESKQx6PGIcSuylM3sdk33CfxcH9bdD0DEa7xD48n791s9aKAoEscL_Tc21XmKFwD_cZWIGrJqOyTuf9DjrbwfplFa4D77HXjbhnFoFJF4wZ2fM91TSnUBvFcxUydSCLWSmy0IQF2xBJLKuzBeCT9WeceJTVTSFagqeM84KIaa62DWZKSmnab7IBeV5TnyyF1PeUMHFYs4WM8FgmuteGjux9tiPzSYzMQ66LHIhCp5ZudM2nhvZ9QqO_PJ1FsrR4GE3tBGmuTUxxReIZJI9d7-LBV8jzPL3vM0wy_FkUndtK8uDP2D0vU6m1xGV19GNYsSTD1_x1GmHqdNBowz6UtCIxh29PWqVDcGW37Vek7phN2l8D7QZk7pOD4fg_9RNAtqcSYpAmytPx5L-DgAA__9MR7ql">