<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">