<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54342>54342</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Bug: without -std=c++17, clang will abort by llvm_unreachable when handle EST_Uninstantiated
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhouzhouyi-hub
</td>
</tr>
</table>
<pre>
When compile following code without -std=c++17, clang will abort by llvm_unreachable:
template<class T>
void foo() noexcept(T::value);
struct S {
static const bool value;
};
const bool S::value = 0;
template<class... Args, bool is_noexcept>
constexpr bool is_noexcept_function(void(Args...) noexcept(is_noexcept)) {
return is_noexcept;
}
void fn()
{
is_noexcept_function(foo<S>);
}
My solution to this bug:
https://reviews.llvm.org/D121498
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJylU02ToyAQ_TV4oWIpmDE5eMjH5LanZGuPKcSOskXAAoyT_fXbmplsYmpOW4UCDf263-umtNW1-NWAodKeW6WBnqzWtlemRksFtFehsV2gMx8qwreSsDWONCdsQ6UWeK1XWlNRWhdoeaVaX87HzjgQshGlBsJXJNmS5PMf4NxqEdC8QW_v6YHw99vRxaoKo1vCFoQtqbHwIaENuD0MIHx1EboDPCJ8_Qjpg-tkoHtK8oldBCWRhfGYmbWa3gCevUm-nVgeHPYPgSmyp8nk7pROHMd05Wo_qDMiKH-8E_kiOgaAj9a9XDmeOiODsgZJD3LgNKAh6kSRR1gUBA8n5B2Ezpnn8C-8H7Y38c1N-68bTw7fpDkUjG_2A7mXykxi_LhSb3U3ONJgaWiUp2VX3zukCaH1w47tcDi4KOh9PDRUbF2Npm3K0my5iKqCV0u-FFFQQUOxHjHof7cq7Yd30AhT4fp9fzj-NAorJUxQWOIq6pwunnOsMWJXxvh0cDPAfU6z1tnfILE2O-V9B9gPu3nGMxY1RQ4ndsoEyLeyzFjGQSIpATiVCwlcRlqUoH1B5pg9M9DTEQLXZL6NVMESxhKepowzli7iTCyqkucsFextkS9zkiVwFkrfdYtcMaaESns81MqHf6JG2LOqNgBjOMQXHWroij8o5PBd1QwJRmMGxcjgL0E_S-s">