summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/torture/pr45854.C
blob: 17ee006e048e39217a5450b85809b2d63d6f1bc1 (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
26
27
28
29
30
// { dg-do compile }

template < typename = void >
struct X { } ;
struct Y
{
  Y () ;
} ;
template < typename = X < > >
struct T
{
  void f ()
    {
      f () ;
    }
} ;
struct S
{
  S ( X < > = X < > ()) ;
  ~S ()
    {
      T < > () . f () ;
    }
} ;
struct Z
{
  S s ;
  Y y ;
} a ;