From patchwork Tue Jun 7 18:44:32 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gab Charette X-Patchwork-Id: 99316 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 3990AB6F85 for ; Wed, 8 Jun 2011 04:45:04 +1000 (EST) Received: (qmail 18185 invoked by alias); 7 Jun 2011 18:45:01 -0000 Received: (qmail 18174 invoked by uid 22791); 7 Jun 2011 18:44:59 -0000 X-SWARE-Spam-Status: No, hits=0.3 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, SPF_HELO_PASS, TW_CX, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.44.51) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 07 Jun 2011 18:44:36 +0000 Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [172.25.149.14]) by smtp-out.google.com with ESMTP id p57IiZJu016650; Tue, 7 Jun 2011 11:44:35 -0700 Received: from gchare.mtv.corp.google.com (gchare.mtv.corp.google.com [172.18.111.122]) by hpaq14.eem.corp.google.com with ESMTP id p57IiWZF002996; Tue, 7 Jun 2011 11:44:33 -0700 Received: by gchare.mtv.corp.google.com (Postfix, from userid 138564) id 396AB1C3747; Tue, 7 Jun 2011 11:44:32 -0700 (PDT) To: reply@codereview.appspotmail.com, crowl@google.com, dnovillo@google.com, gcc-patches@gcc.gnu.org Subject: [pph] Stream TREE_TYPE for identifier node (issue4550121) Message-Id: <20110607184432.396AB1C3747@gchare.mtv.corp.google.com> Date: Tue, 7 Jun 2011 11:44:32 -0700 (PDT) From: gchare@google.com (Gabriel Charette) X-System-Of-Record: true X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org We need to stream TREE_TYPE for identifier node. This fixes some ICEs, but introduces some new assembly mismatch errors. Here is the testing diff: 47,49d46 < XPASS: g++.dg/pph/x1autometh.cc -fpph-map=pph.map -I. (test for bogus messages, line ) < XPASS: g++.dg/pph/x1autometh.cc -fpph-map=pph.map -I. (test for excess errors) < FAIL: g++.dg/pph/x1autometh.cc (assembly mismatch) 51c48 < XPASS: g++.dg/pph/x1functions.cc -fpph-map=pph.map -I. (test for excess errors) --- > XPASS: g++.dg/pph/x1functions.cc -I. (test for bogus messages, line ) 53,54d49 < XPASS: g++.dg/pph/x1special.cc -fpph-map=pph.map -I. (test for bogus messages, line ) < XPASS: g++.dg/pph/x1special.cc -fpph-map=pph.map -I. (test for excess errors) 62d56 < XPASS: g++.dg/pph/x1typerefs.cc -fpph-map=pph.map -I. (test for bogus messages, line ) 70,74c64,68 < # of expected passes 174 < # of unexpected failures 2 < # of unexpected successes 21 < # of expected failures 37 < /usr/local/google/gchare/gcc/dbg/gcc/testsuite/g++/../../g++ version 4.7.0-pph 20110606 (experimental) (GCC) --- > # of expected passes 177 > # of unexpected failures 1 > # of unexpected successes 16 > # of expected failures 46 > /usr/local/google/gchare/gcc-clean/bld/gcc/testsuite/g++/../../g++ version 4.7.0-pph 20110606 (experimental) (GCC) 2011-06-07 Gabriel Charette * gcc/cp/pph-streamer-in.c (pph_read_tree): Read TREE_TYPE from id_node. * gcc/cp/pph-streamer-out.c (pph_write_tree): Write TREE_TYPE from id_node. * gcc/testsuite/g++.dg/pph/x1functions.cc (dg-xfail-if "ICE"): Remove. (dg-xfail-if "ERROR"): Add. -- This patch is available for review at http://codereview.appspot.com/4550121 Index: gcc/cp/pph-streamer-in.c =================================================================== --- gcc/cp/pph-streamer-in.c (revision 174760) +++ gcc/cp/pph-streamer-in.c (working copy) @@ -1027,6 +1027,7 @@ id->bindings = pph_in_cxx_binding (stream); id->class_template_info = pph_in_tree (stream); id->label_value = pph_in_tree (stream); + TREE_TYPE (expr) = pph_in_tree (stream); } break; Index: gcc/cp/pph-streamer-out.c =================================================================== --- gcc/cp/pph-streamer-out.c (revision 174760) +++ gcc/cp/pph-streamer-out.c (working copy) @@ -983,6 +983,7 @@ pph_out_cxx_binding (stream, id->bindings, ref_p); pph_out_tree_or_ref_1 (stream, id->class_template_info, ref_p, 3); pph_out_tree_or_ref_1 (stream, id->label_value, ref_p, 3); + pph_out_tree_or_ref_1 (stream, TREE_TYPE (expr), ref_p, 3); } break; Index: gcc/testsuite/g++.dg/pph/x1functions.cc =================================================================== --- gcc/testsuite/g++.dg/pph/x1functions.cc (revision 174760) +++ gcc/testsuite/g++.dg/pph/x1functions.cc (working copy) @@ -1,6 +1,5 @@ -// { dg-xfail-if "ICE" { "*-*-*" } { "-fpph-map=pph.map" } } +// { dg-xfail-if "ERROR" { "*-*-*" } { "-fpph-map=pph.map" } } // { dg-bogus "'mbr_decl_inline' was not declared in this scope" "" { xfail *-*-* } 0 } -// { dg-bogus "c1functions.h:8:34: internal compiler error: Segmentation fault" "" { xfail *-*-* } 0 } // { dg-prune-output "In file included from " } // { dg-prune-output "In member function " } // { dg-prune-output "At global scope:" }