https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97624
Bug ID: 97624 Summary: ICE: in dependent_type_p, at cp/pt.c:26515 Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eugene at hutorny dot in.ua Target Milestone: --- Created attachment 49463 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49463&action=edit Source file with minimal reproduceable code C++ compiler fails on the following example: template<unsigned TAG, typename T=const char*> struct Tag { static constexpr auto tag = TAG; T value; }; template<typename ... Tagged> void bar(Tagged&& ... tagged) { const char* v[sizeof...(Tagged)] = { [Tagged::tag] = tagged.value ... }; } using O = Tag<0>; void foo() { bar(O{"ICE"}); }