<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/153082>153082</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
ICE with statement expression + builtin: Assertion failed: (!isValueDependent() && "Expression evaluator can't be called on a dependent expression.")
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
comex
</td>
</tr>
</table>
<pre>
As of 1a502da7084abf03f0ff3ba852b94ca217892730, this code:
```cpp
template <typename T> void f() {
__builtin_expect_with_probability(0, 0, ({ 0; }));
}
```
produces:
```
% ~/src/llvm/build/bin/clang++ -fsyntax-only file.cpp
Assertion failed: (!isValueDependent() && "Expression evaluator can't be called on a dependent expression."), function EvaluateAsConstantExpr, file ExprConstant.cpp, line 17122.
```
WIthout the template, the function compiles successfully.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzEUs-OszYQf5rhMtrIDHGAAweS3UjfvWqPkbGH4MrYCJv9Npc-e2X2S7fdFyiyAMuemd8_FaO9e-YO5Bnka6G2NIW102Hmj2II5tH1EcOIpZKCjKpFc1TDKKpRjGM1qEbS0B61orJuWqorAXTBNNmIOhiGqgfRw0l8Lr0sIPrE8-JUYoTqkh4LezUz_gbVG74Ha3AEaoBahPoMosfbbdisS9bf-GNhnW4_bZpuyxoGNVhn0wOo2Yfur1xbn1FAdUaoX4HavKrcKW__hQVEv6zBbJrjN5T5nyT-BXSNqwa6Ovc-A10zDpO_1gNdtVP-DnQGOuPLGB8-qY-X4N0DR-v48Em1j5HXZIPHUVnHBqp-h0iljb8rt_ErL-wN-_QkTSegEwLR28eycoy5lt-V21QKK2rlgeqEA6NWzrHB4FGheXZB_qfqAEQ7_QuOm9c7iLfPRtzHS_AxKZ_ylP2KdYx58zzYCdAFnfWMZV0SHb5p9MePNIUtYZoYn5Z-ms9fE3WYF-s4Yty05hjHzbnHoTBdZdqqVQV3ZS2P7VEeW1lMHZeS5Xii0pi6UUM7nBrZmv1R4mSGwnYkSIqmLEnIspKHWhiWamiYqlKLE8NR8KysO2TTDmG9FzbGjbtSVqKhwqmBXdyzTuT5J-6nWSr5WqxdLnoZtnuEo3A2pvjVJtnkuPtxecMcQIxJJZ7_KznmLPxKa3b6_3e_2FbXTSkte8bpCnS92zRtw0GH-SvZO-1lDX-yTkDXXZMIdP0l2ntHfwcAAP__VcBNoA">