diff options
author | Jason Merrill <jason@redhat.com> | 2009-03-31 14:37:49 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2009-03-31 14:37:49 -0400 |
commit | 0e183333b297976e4dc728585e08025e082fb53c (patch) | |
tree | 1e6404bbd819e791ef528ccf656dc15ce150dad2 /gcc | |
parent | 0d9c089222329e55fb3d372e3c8029f5a18a080f (diff) | |
download | gcc-0e183333b297976e4dc728585e08025e082fb53c.zip gcc-0e183333b297976e4dc728585e08025e082fb53c.tar.gz gcc-0e183333b297976e4dc728585e08025e082fb53c.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/typedef17.C | 32 |
2 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 43ae63d..5205c39 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2009-03-31 Jason Merrill <jason@redhat.com> + 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 0000000..263e288 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/typedef17.C @@ -0,0 +1,32 @@ +// PR c++/37806 + +extern "C" int printf (const char *, ...); + +template <typename T> +struct S1 +{ + typedef void (function_type)(int) const; +}; + + +struct S2: public S1<int> +{ + 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); +} |