https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69009
Bug ID: 69009 Summary: ICE in instantiate_decl, at cp/pt.c:21511 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: webrown.cpp at gmail dot com Target Milestone: --- Created attachment 37101 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37101&action=edit Preprocessed source Using g++-mp-6 (MacPorts gcc6 6-20151220_0) 6.0.0 20151220 (experimental) compiling via g++-mp-6 -x c++ -std=c++1z -O3 (plus lots of -W flags) Preprocessed source attached. The problem manifested after revising my implementation of tuple_size and tuple_size_v as outlined below: template< class T > constexpr auto tuple_size_v = 0; ... // several tuple_size_v specializations later: template< class T > using tuple_size = integral_constant<size_t, tuple_size_v<T>>;