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 > >;
                                              ^

Reply via email to