Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/typedef25.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
// Contributed by Dodji Seketeli <dodji@redhat.com> // Origin PR c++/42225 // { dg-do compile { target c++11 } } template<class T> struct A { typedef T I; static const char *i; }; template<class T, int> struct B { typedef T TT; typedef decltype(TT::i) TT_I0; typedef decltype(&TT::i) TT_I1; typedef decltype(*TT::i) TT_I2; typedef A<TT_I0> TA0; typedef A<TT_I1> TA1; typedef A<TT_I2> TA2; }; template<class T> void foo() { typedef T TT; typedef decltype(TT::i) TT_I0; typedef decltype(&TT::i) TT_I1; typedef decltype(*TT::i) TT_I2; typedef A<TT_I0> TA0; typedef A<TT_I1> TA1; typedef A<TT_I2> TA2; } int main() { foo<A<int> >(); }