This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C++ PATCH for c++/50614 (ICE with NSDMI and -fcompare-debug)


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 <jason@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);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]