From: Jason Merrill Date: Fri, 24 May 2013 20:02:07 +0000 (-0400) Subject: re PR c++/56971 (GCC claims a friend function to be overloaded, but it isn't) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9f57f76aae9ad3be8efb5c1200353261e2ef7f34;p=gcc.git re PR c++/56971 (GCC claims a friend function to be overloaded, but it isn't) PR c++/56971 * pt.c (any_template_arguments_need_structural_equality_p): A TEMPLATE_TEMPLATE_PARM can require structural type comparison. From-SVN: r199315 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7b02b8b3b5b..4d139557523 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2013-05-24 Jason Merrill + + PR c++/56971 + * pt.c (any_template_arguments_need_structural_equality_p): A + TEMPLATE_TEMPLATE_PARM can require structural type comparison. + 2013-05-24 Paolo Carlini PR c++/19618 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 903d529abc4..d9a14cc3cbd 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -20367,8 +20367,7 @@ any_template_arguments_need_structural_equality_p (tree args) if (error_operand_p (arg)) return true; - else if (TREE_CODE (arg) == TEMPLATE_DECL - || TREE_CODE (arg) == TEMPLATE_TEMPLATE_PARM) + else if (TREE_CODE (arg) == TEMPLATE_DECL) continue; else if (TYPE_P (arg) && TYPE_STRUCTURAL_EQUALITY_P (arg)) return true; diff --git a/gcc/testsuite/g++.dg/template/ttp28.C b/gcc/testsuite/g++.dg/template/ttp28.C new file mode 100644 index 00000000000..a15dea1e7f8 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/ttp28.C @@ -0,0 +1,21 @@ +// PR c++/56971 + +template +class rp { +}; + +template