https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70567
Bug ID: 70567 Summary: internal compiler error: in retrieve_specialization, at cp/pt.c:1020 Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: pangbw at gmail dot com Target Milestone: --- 1. cat y.C: template < class > struct allocator_traits; template < class > class allocator; template < class _Ty > struct allocator_traits <allocator < _Ty > > { typedef _Ty value_type; typedef value_type *pointer; template < class _Other > using rebind_traits = allocator_traits < allocator < _Other > >; }; int test() { allocator_traits<allocator<int> >::rebind_traits<void*>::pointer pt; } 2. ./xgcc -std=c++11 -S -B. y.c y.C: In substitution of 'template<class _Other> using rebind_traits = allocator_traits<allocator<_Ty> > [with _Other = int]': y.C:12:58: required from here y.C:8:46: internal compiler error: in retrieve_specialization, at cp/pt.c:1020 allocator_traits < allocator < _Other > >; ^