diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dbxout.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/debug1.C | 48 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/new-init.C | 7 |
4 files changed, 61 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 39c73e7..3c87446 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1998-03-11 Mark Mitchell <mmitchell@usa.net> + + * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a + TREE_VEC if that's what it really is. + Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com> * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 7fa9139..101574f 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -824,7 +824,7 @@ dbxout_type_methods (type) sprintf(formatted_type_identifier_length, "%d", type_identifier_length); - if (TREE_CODE (methods) == FUNCTION_DECL) + if (TREE_CODE (methods) != TREE_VEC) fndecl = methods; else if (TREE_VEC_ELT (methods, 0) != NULL_TREE) fndecl = TREE_VEC_ELT (methods, 0); diff --git a/gcc/testsuite/g++.old-deja/g++.other/debug1.C b/gcc/testsuite/g++.old-deja/g++.other/debug1.C new file mode 100644 index 0000000..8485895 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/debug1.C @@ -0,0 +1,48 @@ +// Build don't link: +// Special g++ Options: -g + +typedef unsigned int 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; +} diff --git a/gcc/testsuite/g++.old-deja/g++.other/new-init.C b/gcc/testsuite/g++.old-deja/g++.other/new-init.C new file mode 100644 index 0000000..fff2f63 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/new-init.C @@ -0,0 +1,7 @@ +// Build don't link: + +void f() +{ + new int = 1; +} + |