summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C
blob: 860080ea9424b0b466f3789eae77dce5717cdb91 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// { dg-do run  }
// { dg-options "-g" }
// Internal compiler error on egcs 1.0.1 i586-pc-linux-gnulibc1. 
// From: Max Lawson <mlawson@drfmc.ceng.cea.fr>
// Message-Id: <9803091022.AA07520@drfmc.ceng.cea.fr>


typedef __SIZE_TYPE__ size_t;

struct dummy { };

struct arrrrrgh { };

template<class Par,class Rand = arrrrrgh>
struct whyyyyyyy { };	 

template<class T, class S =dummy> 
struct grrrrrrrr { };         

template<class Par, class Par2 =Par, class Rand =arrrrrgh>
class no_future
{
public:
   
  template<class S>
  no_future(const grrrrrrrr<whyyyyyyy<Par,Rand>*,S>& man )  { }

  ~no_future( ) { }

private:

  no_future(const no_future&);
  no_future& operator=(const no_future&);
};	 

int main( )
{
  grrrrrrrr<whyyyyyyy<double>*> man;

  no_future<double> here(man);

  return 0;
}