From: aoliva Date: Fri, 11 May 2012 13:27:03 +0000 (+0000) Subject: PR c++/53209 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e9c48c8e35d45adbe7139a57c860924f4de4847;p=thirdparty%2Fgcc.git 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/trunk@187404 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index dfb3204c18c2..a36aaf6508d6 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2012-05-11 Alexandre Oliva + + PR c++/53209 + * pt.c (tsubst_decl): Bail out if argvec is error_mark_node. + 2012-05-11 Paolo Carlini PR c++/53305 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index a506a8481d00..77c95bc259ea 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -10631,6 +10631,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); }