From 3478e6402d6812e3945f666a64ce8f1627e7373b Mon Sep 17 00:00:00 2001 From: Volker Reichelt Date: Sat, 3 Sep 2005 19:53:01 +0000 Subject: [PATCH] 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 --- gcc/cp/ChangeLog | 10 ++++++++++ gcc/cp/pt.c | 4 +++- gcc/testsuite/ChangeLog | 8 ++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) 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 -- 2.47.2