From: jason Date: Tue, 31 Mar 2009 18:37:49 +0000 (+0000) Subject: PR c++/37806 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a4d7f02069e1a0ba24a4695929b16a419b04f162;p=thirdparty%2Fgcc.git PR c++/37806 * g++.dg/template/typedef17.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145366 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 43ae63df6bd5..5205c3903f0c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2009-03-31 Jason Merrill + PR c++/37806 + * g++.dg/template/typedef17.C: New test. + * g++.dg/cpp0x/auto6.C: Adjust expected mangling. * g++.dg/cpp0x/auto12.C: Likewise. diff --git a/gcc/testsuite/g++.dg/template/typedef17.C b/gcc/testsuite/g++.dg/template/typedef17.C new file mode 100644 index 000000000000..263e28886f99 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/typedef17.C @@ -0,0 +1,32 @@ +// PR c++/37806 + +extern "C" int printf (const char *, ...); + +template +struct S1 +{ + typedef void (function_type)(int) const; +}; + + +struct S2: public S1 +{ + virtual function_type f = 0; +}; + +struct S3: public S2 +{ + void + f (int i) const + { + printf ("Hello world: %d\n", i); + } +}; + + +int +main() +{ + S3 s; + s.f(5); +}