<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/135032>135032</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] Crash instantiating static variable template specialization member of class template
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
katzdm
</td>
</tr>
</table>
<pre>
The following program crashes during codegen, and looks to have done so since Clang 9.
```cpp
template <typename>
struct TCls {
template <typename T>
static auto var = T::smem;
};
struct S { static constexpr int smem = 1; };
int main() {
(void) TCls<int>::var<S>;
}
```
https://godbolt.org/z/x9eYMKfrv
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsUkFzozwM_TXiomnG2BCSA4eUfFy-2VN72aMABbw1NmMbtu2v33GStrs7O-MZsKX39CQ9CkGPlrmG8hHKc0ZrnJyvXyi-D3PWueGtfp4YL84Y91PbERfvRk8z9p7CxAGH1afn3g08sgXZINkBjXMvAaPDiTbGwVnG4DBo2zM2huyIxx2IUzp7cTv9soA4RZ4XQ5ERVBPfFrY0M6j_QJxC9Gsf8bkxAaF6BHFC_Fc2Pt_yEUOkqHukNTrcyCOocwqeQJ3CzDOoRALV-f7zWeIp8X-ge2dD5NfFo7YRE-7Kk4N6xN-xKTqTtiAPII-fCkEeNqeH9JSUg2q0jUngVcZGHlTzdL1_iPlzKrfrFOMSEkS2INvRDZ0zcef8CLJ9B9m-Hvn7t_8vfsuGWg1HdaSM67wqCikOh1xmU037Q0fyUu0vRyn6QYp86CoWVSmqQtHAma6lkKUoxDEv5L6Uu6LKO77kqstLlcvqAIXgmbTZGbPNqXamQ1i5zlUplMwMdWzC1UZS9mnFIGVylK8T4KFbxwCFMDrE8EURdTRX790Q5Rmb5CvUNkSyUVNM5rqvYiOvqTP8tfawcK_J6HeK2lmcee7Yo7tgbyiEz7xs9ab-a4Y6Tmu3690Msk1y7p-Hxbsf3EeQ7bW9ALK9d7jV8lcAAAD__8uq_W8">