diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-26 17:57:30 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-26 17:57:30 +0000 |
commit | 1635a265edeb1b438edc83feb96e5fe48a171319 (patch) | |
tree | e02a5250ffd8b2f136a3be9cd41f0d7b11bb7faa /gcc/cp | |
parent | 2bf70a2aedfa6609011dd8358c173233b88d58b0 (diff) | |
download | gcc-1635a265edeb1b438edc83feb96e5fe48a171319.tar.gz |
* pt.c (lookup_template_class): push_tinst_level around call to
coerce_template_parms.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165974 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/cp/pt.c | 18 |
2 files changed, 14 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e4e6446ed52..1ec3c639554 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2010-10-26 Jason Merrill <jason@redhat.com> + * pt.c (lookup_template_class): push_tinst_level around call to + coerce_template_parms. + * tree.c (stabilize_expr): Handle xvalues properly. * call.c (build_over_call): Use argarray[0] for 'this' argument. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 1de5d5527fd..f150d8f6130 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -6595,13 +6595,17 @@ lookup_template_class (tree d1, arglist = bound_args; } else - arglist - = coerce_template_parms (INNERMOST_TEMPLATE_PARMS (parmlist), - INNERMOST_TEMPLATE_ARGS (arglist), - gen_tmpl, - complain, - /*require_all_args=*/true, - /*use_default_args=*/true); + { + push_tinst_level (templ); + arglist + = coerce_template_parms (INNERMOST_TEMPLATE_PARMS (parmlist), + INNERMOST_TEMPLATE_ARGS (arglist), + gen_tmpl, + complain, + /*require_all_args=*/true, + /*use_default_args=*/true); + pop_tinst_level (); + } if (arglist == error_mark_node) /* We were unable to bind the arguments. */ |