aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/template/typename12.C
blob: 0bb78c7c85728593e0901f8f8a0733007afb58a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// { dg-do compile }

// Copyright (C) 2007 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 21 Jul 2007 <nathan@codesourcery.com>

// Origin: sschunck@pdf.de
// PR 30818, failure to resolve typename typedef

template < typename T > 
class A 
{
  typedef int type;
  class B;
};

template < typename T >
class A<T>::B
{
  typedef typename A<T>::type type;
  type f();
};

template < typename T >
typename A<T>::B::type 
A<T>::B::f() { return 0; }