Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/crash21.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do compile } // Origin: Debian GCC maintainers <debian-gcc@lists.debian.org> // Wolfgang Bangerth <bangerth@dealii.org> // PR c++/16706: Dependent type calculation during access checking template <typename> struct B { B() throw() {} struct S { }; static int i; typedef unsigned short int dummy; }; template <typename _Tp> struct allocator: B<_Tp> { template<typename _Tp1> struct rebind { typedef allocator<_Tp1> other; }; }; template<typename T, typename> struct X { typename allocator<T>::template rebind<int>::other i; typedef int* dummy; }; template <class T> class A { typedef typename X<T,allocator<T> >::dummy dummy; template <class TP> class XWrapper; }; template <class T> template <class TP> struct A<T>::XWrapper<TP *> { XWrapper() {} X<int,allocator<int> > x; }; template class A<int>::XWrapper<int *>;