diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/conv8.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/conv8.C | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv8.C b/gcc/testsuite/g++.old-deja/g++.other/conv8.C new file mode 100644 index 000000000..205ad4382 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/conv8.C @@ -0,0 +1,31 @@ +// { dg-do assemble } +// Origin: Jakub Jelinek <jakub@redhat.com> + +class bar +{ +public: + bar(); + virtual ~bar(); + static void a(); +}; + +class baz : public bar +{ +}; + +class foo : virtual public baz +{ +public: + static void a(); + void b(); +}; + +typedef void (bar::*T)(); +T d; + +void foo::a() +{ + typedef void(foo::*t)(); + t c = & foo::b; + d = (T) c; // { dg-error "pointer to member" } +} |