diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C b/gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C new file mode 100644 index 000000000..860080ea9 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C @@ -0,0 +1,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; +} + |