From: Jason Merrill Date: Tue, 31 Mar 2009 18:37:49 +0000 (-0400) Subject: re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted... X-Git-Tag: releases/gcc-4.5.0~6991 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0e183333b297976e4dc728585e08025e082fb53c;p=thirdparty%2Fgcc.git re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope) PR c++/37806 * g++.dg/template/typedef17.C: New test. From-SVN: r145366 --- 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); +}