<div dir="auto"><div>Thanks, that makes sense, I forgot to check for noexcept function types in template arguments. (Though I think GCC's diagnostic is sort of wrong or at least missing the point in this case, which is that 't' will have a different type in C++17.)<br><div class="gmail_extra"><br><div class="gmail_quote">On 3 Apr 2017 1:33 pm, "Eric Fiselier" <<a href="mailto:eric@efcs.ca">eric@efcs.ca</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Here is a reduced version.<div><br></div><div>void glibc_function() throw() {}</div><div><br></div><div><div>template <class T> struct Test {</div><div> Test() {} // expected-error {{mangled name for 'Test<T>::Test()' will change in C++17}}</div><div> ~Test() {} // expected-error {{mangled name for 'Test<T>::~Test()' will change in C++17}}</div><div>};</div></div><div><br></div><div>Test<decltype(&glibc_function)<wbr>> t;</div><div><br></div><div>/Eric</div></div><div class="elided-text"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 3, 2017 at 5:17 PM, Eric Fiselier <span dir="ltr"><<a href="mailto:eric@efcs.ca" target="_blank">eric@efcs.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">I'll create a reduced reproducer, but it'll take some time because GCC is quite cryptic about the instantiation stack.</div><div class="gmail_extra"><br></div><div class="gmail_extra">if you want many instances within the libc++ build simply revert this commit and build with a new GCC.</div><span class="m_-8435088817574249979HOEnZb"><font color="#888888"><div class="gmail_extra"><br></div><div class="gmail_extra">/Eric</div></font></span></div>
</blockquote></div><br></div>
</div></blockquote></div><br></div></div></div>