From: Jason Merrill Date: Wed, 20 Feb 2008 04:47:28 +0000 (-0500) Subject: re PR c++/34950 (ICE in svn boost math toolkit) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3629f5b46e7bfb3b33f57cbc194f12c0e0ed6e37;p=thirdparty%2Fgcc.git re PR c++/34950 (ICE in svn boost math toolkit) PR c++/34950 * pt.c (resolve_overloaded_unification): Set processing_template_decl while we look for possible bindings. PR c++/34774 * pt.c (value_dependent_expression_p): Look into DECL_INITIAL of enumerators, too. From-SVN: r132469 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 5c8c2a60d176..e8cd07455f1b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,15 @@ +2008-02-19 Jason Merrill + + PR c++/34950 + * pt.c (resolve_overloaded_unification): Set processing_template_decl + while we look for possible bindings. + +2008-02-13 Jason Merrill + + PR c++/34774 + * pt.c (value_dependent_expression_p): Look into DECL_INITIAL + of enumerators, too. + 2008-01-28 Jason Merrill PR c++/35007 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index e3d5d05cb485..10517f17b78f 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -9790,6 +9790,7 @@ resolve_overloaded_unification (tree tparms, if (TREE_CODE (fn) != TEMPLATE_DECL) continue; + ++processing_template_decl; subargs = get_bindings (fn, DECL_TEMPLATE_RESULT (fn), expl_subargs, /*check_ret=*/false); if (subargs) @@ -9798,6 +9799,7 @@ resolve_overloaded_unification (tree tparms, good += try_one_overload (tparms, targs, tempargs, parm, elem, strict, sub_strict, addr_p); } + --processing_template_decl; } } else @@ -12562,7 +12564,7 @@ value_dependent_expression_p (tree expression) /* A non-type template parm. */ if (DECL_TEMPLATE_PARM_P (expression)) return true; - return false; + return value_dependent_expression_p (DECL_INITIAL (expression)); case VAR_DECL: /* A constant with integral or enumeration type and is initialized