From: Jason Merrill Date: Wed, 7 Aug 2013 01:17:36 +0000 (-0400) Subject: re PR c++/57825 (Template specialization for ref qualified member pointers) X-Git-Tag: releases/gcc-4.9.0~4684 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=f585f69b311a84ebee46c78f5649fb1f500859a4;p=gcc.git re PR c++/57825 (Template specialization for ref qualified member pointers) PR c++/57825 * tree.c (strip_typedefs) [METHOD_TYPE]: Preserve ref-qualifier. From-SVN: r201550 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f85fd3f1b32c..5083f7016ccc 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2013-08-06 Jason Merrill + + PR c++/57825 + * tree.c (strip_typedefs) [METHOD_TYPE]: Preserve ref-qualifier. + 2013-08-05 Paolo Carlini PR c++/58080 diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index f8b4bbce8221..63ec7fa72663 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1236,6 +1236,8 @@ strip_typedefs (tree t) result = build_method_type_directly (class_type, type, TREE_CHAIN (arg_types)); + result + = build_ref_qualified_type (result, type_memfn_rqual (t)); } else { diff --git a/gcc/testsuite/g++.dg/cpp0x/ref-qual14.C b/gcc/testsuite/g++.dg/cpp0x/ref-qual14.C new file mode 100644 index 000000000000..8e55551aeb2f --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/ref-qual14.C @@ -0,0 +1,18 @@ +// PR c++/57825 +// { dg-do compile { target c++11 } } + +template +struct target_class +{}; + +template +struct target_class +{}; + +template +struct target_class +{}; + +template +struct target_class +{};