From: aoliva Date: Tue, 15 May 2012 04:25:25 +0000 (+0000) Subject: PR c++/53209 X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=e40c15d7636da965948bd9ce0ad17e7ca15246cd PR c++/53209 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@187497 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 77ea188b4e1..00af353d72e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2012-05-15 Alexandre Oliva + + PR c++/53209 + * pt.c (tsubst_decl): Bail out if argvec is error_mark_node. + 2012-05-10 Paolo Carlini PR c++/53301 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 383f0d6d557..e3d8948bf20 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -10668,6 +10668,8 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain) tmpl = DECL_TI_TEMPLATE (t); gen_tmpl = most_general_template (tmpl); argvec = tsubst (DECL_TI_ARGS (t), args, complain, in_decl); + if (argvec == error_mark_node) + RETURN (error_mark_node); hash = hash_tmpl_and_args (gen_tmpl, argvec); spec = retrieve_specialization (gen_tmpl, argvec, hash); }