diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C b/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C new file mode 100644 index 000000000..4f78039d4 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C @@ -0,0 +1,32 @@ +// { dg-do assemble } +// GROUPS passed pointers-to-members +template<class T> class TemplA { + T t; +}; + + +template<class T> class TemplB { +public: + typedef void (T::*TClassMethod)(); + +private: +/* + This line should not crash cuz of the get_decl_list change in this: + * cp-tree.c (list_hash_lookup_or_cons): Make sure the type doesn't + have TYPE_PTRMEMFUNC_P set before we try to build its + CLASSTYPE_ID_AS_LIST. + (get_decl_list): Likewise, when trying to read it. +*/ + TemplA<TClassMethod> Tmethod; +}; + + +class C { + int a; +}; + +int main(int, char**) { + + TemplB<C> test; +} + |