On 10/13/2011 05:22 PM, Jason Merrill wrote:
+ DECL_INITIAL (r) = error_mark_node;
While working on 50507 I noticed that we check for error_mark_node in walk_field_subobs, so I'm changing the placeholder to void_zero_node.
Tested x86_64-pc-linux-gnu, applying to trunk.
commit ca436fb810b1b85abcb3bd7bc950e55df259dafd Author: Jason Merrill <ja...@redhat.com> Date: Thu Oct 13 21:56:23 2011 -0400 * pt.c (tsubst_decl) [FIELD_DECL]: Use void_zero_node instead of error_mark_node as a placeholder. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 1632c01..bbe1139 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -10273,8 +10273,8 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain) { /* Set up DECL_TEMPLATE_INFO so that we can get at the NSDMI in perform_member_init. Still set DECL_INITIAL - to error_mark_node so that we know there is one. */ - DECL_INITIAL (r) = error_mark_node; + so that we know there is one. */ + DECL_INITIAL (r) = void_zero_node; gcc_assert (DECL_LANG_SPECIFIC (r) == NULL); retrofit_lang_decl (r); DECL_TEMPLATE_INFO (r) = build_template_info (t, args);