From: Volker Reichelt Date: Sat, 3 Sep 2005 19:53:01 +0000 (+0000) Subject: Backport: X-Git-Tag: releases/gcc-3.4.5~211 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3478e6402d6812e3945f666a64ce8f1627e7373b;p=thirdparty%2Fgcc.git Backport: 2005-08-26 Mark Mitchell PR c++/19004 * pt.c (uses_template_parms): Handle IDENTIFIER_NODE. (type_dependent_expression_p): Allow BASELINKs whose associated functions are simply a FUNCTION_DECL. * g++.dg/template/nontype13.C: New test. From-SVN: r103815 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6e489b597430..bc4cfb3a82ac 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,13 @@ +2005-09-03 Volker Reichelt + + Backport: + + 2005-08-26 Mark Mitchell + PR c++/19004 + * pt.c (uses_template_parms): Handle IDENTIFIER_NODE. + (type_dependent_expression_p): Allow BASELINKs whose associated + functions are simply a FUNCTION_DECL. + 2005-09-02 Volker Reichelt PR c++/22233 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 0db01ee65345..5fcbf300f51c 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -4810,6 +4810,7 @@ uses_template_parms (tree t) || TREE_CODE (t) == TEMPLATE_PARM_INDEX || TREE_CODE (t) == OVERLOAD || TREE_CODE (t) == BASELINK + || TREE_CODE (t) == IDENTIFIER_NODE || TREE_CODE_CLASS (TREE_CODE (t)) == 'c') dependent_p = (type_dependent_expression_p (t) || value_dependent_expression_p (t)); @@ -12028,7 +12029,8 @@ type_dependent_expression_p (tree expression) return true; expression = TREE_OPERAND (expression, 0); } - if (TREE_CODE (expression) == OVERLOAD) + if (TREE_CODE (expression) == OVERLOAD + || TREE_CODE (expression) == FUNCTION_DECL) { while (expression) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c1e664f64ce1..092acae2ff3c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2005-09-03 Volker Reichelt + + Backport: + + 2005-08-26 Mark Mitchell + PR c++/19004 + * g++.dg/template/nontype13.C: New test. + 2005-09-02 Richard Sandiford PR c/22061