aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/error.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2013-04-22 16:40:54 -0400
committerJason Merrill <jason@gcc.gnu.org>2013-04-22 16:40:54 -0400
commit3579964bee6f4b621322d367de1fa6ce4b36befc (patch)
tree2557ab41483c15f17bc88b693aca993a7c24de7b /gcc/cp/error.c
parent80f7a782fd5a8030805a56db68c85db3bd139e23 (diff)
downloadgcc-3579964bee6f4b621322d367de1fa6ce4b36befc.zip
gcc-3579964bee6f4b621322d367de1fa6ce4b36befc.tar.gz
gcc-3579964bee6f4b621322d367de1fa6ce4b36befc.tar.bz2
pt.c (fn_type_unification): Push tinst level around type_unification_real if we aren't explaining.
gcc/cp/ * pt.c (fn_type_unification): Push tinst level around type_unification_real if we aren't explaining. * cp-tree.h (TFF_NO_TEMPLATE_BINDINGS): New. * error.c (dump_function_decl): Respect it. (subst_to_string): Pass it. libstdc++-v3/ * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In substitution" lines. From-SVN: r198161
Diffstat (limited to 'gcc/cp/error.c')
-rw-r--r--gcc/cp/error.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 3206342..7a8c0bc 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -1451,7 +1451,8 @@ dump_function_decl (tree t, int flags)
dump_type_suffix (TREE_TYPE (fntype), flags);
/* If T is a template instantiation, dump the parameter binding. */
- if (template_parms != NULL_TREE && template_args != NULL_TREE)
+ if (template_parms != NULL_TREE && template_args != NULL_TREE
+ && !(flags & TFF_NO_TEMPLATE_BINDINGS))
{
pp_cxx_whitespace (cxx_pp);
pp_cxx_left_bracket (cxx_pp);
@@ -2889,7 +2890,8 @@ subst_to_string (tree p)
tree decl = TREE_PURPOSE (p);
tree targs = TREE_VALUE (p);
tree tparms = DECL_TEMPLATE_PARMS (decl);
- int flags = TFF_DECL_SPECIFIERS|TFF_TEMPLATE_HEADER;
+ int flags = (TFF_DECL_SPECIFIERS|TFF_TEMPLATE_HEADER
+ |TFF_NO_TEMPLATE_BINDINGS);
if (p == NULL_TREE)
return "";