From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10863 invoked by alias); 28 Aug 2007 17:39:29 -0000 Received: (qmail 10715 invoked by uid 22791); 28 Aug 2007 17:39:27 -0000 X-Spam-Check-By: sourceware.org Received: from mail2.panix.com (HELO mail2.panix.com) (166.84.1.73) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 28 Aug 2007 17:39:21 +0000 Received: from mailspool3.panix.com (mailspool3.panix.com [166.84.1.78]) by mail2.panix.com (Postfix) with ESMTP id B13413481E; Tue, 28 Aug 2007 13:39:19 -0400 (EDT) Received: from [192.168.1.60] (pool-70-104-131-49.nycmny.fios.verizon.net [70.104.131.49]) by mailspool3.panix.com (Postfix) with ESMTP id 754791684C; Tue, 28 Aug 2007 13:39:19 -0400 (EDT) Message-ID: <46D45DC6.8030807@naturalbridge.com> Date: Tue, 28 Aug 2007 17:45:00 -0000 From: Kenneth Zadeck User-Agent: Thunderbird 1.5.0.12 (X11/20060911) MIME-Version: 1.0 To: Diego Novillo CC: Jim Blandy , Mark Mitchell , gcc-patches , William Maddox Subject: Re: [lto] patch committed to fix calls and FUNCTION_DECLS References: <46D4525E.9060209@naturalbridge.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------070704060806040802090306" Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-08/txt/msg01985.txt.bz2 This is a multi-part message in MIME format. --------------070704060806040802090306 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 780 Diego Novillo wrote: > On 8/28/07, Kenneth Zadeck wrote: > > >> 2007-08-28 Kenneth Zadeck >> >> * lto-function-out (output_expr_operand): Reorder the fields >> in the stream for CALL_EXPRs. >> (lto_static_init): Do not put out types for FUNCTION_DECLs. >> > > The patch is missing. Also, could you describe what those problems > were? It tends to be useful when doing archeology in the future. > > Thanks. > Sorry, The patch fixes two problems: First, the order of the operands for CALL_EXPRs being output was not the order that was expected when reading them back in. Second, FUNCTION_DECLS were being serialized without a type but the reader was expecting one. They do not need a type. Kenny --------------070704060806040802090306 Content-Type: text/x-patch; name="postmerge7.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="postmerge7.diff" Content-length: 1304 Index: lto-function-out.c =================================================================== --- lto-function-out.c (revision 127862) +++ lto-function-out.c (working copy) @@ -1232,17 +1232,19 @@ output_expr_operand (struct output_block { unsigned int count = TREE_INT_CST_LOW (TREE_OPERAND (expr, 0)); unsigned int i; - output_uleb128 (ob, count); /* Operand 2 is the call chain. */ if (TREE_OPERAND (expr, 2)) { output_record_start (ob, expr, expr, LTO_call_expr1); + output_uleb128 (ob, count); output_expr_operand (ob, TREE_OPERAND (expr, 2)); } else - output_record_start (ob, expr, expr, LTO_call_expr0); - + { + output_record_start (ob, expr, expr, LTO_call_expr0); + output_uleb128 (ob, count); + } output_expr_operand (ob, TREE_OPERAND (expr, 1)); for (i = 3; i < count; i++) output_expr_operand (ob, TREE_OPERAND (expr, i)); @@ -1869,6 +1871,7 @@ lto_static_init (void) RESET_BIT (lto_types_needed_for, ASM_EXPR); RESET_BIT (lto_types_needed_for, CASE_LABEL_EXPR); RESET_BIT (lto_types_needed_for, FIELD_DECL); + RESET_BIT (lto_types_needed_for, FUNCTION_DECL); RESET_BIT (lto_types_needed_for, GIMPLE_MODIFY_STMT); RESET_BIT (lto_types_needed_for, LABEL_DECL); RESET_BIT (lto_types_needed_for, LABEL_EXPR); --------------070704060806040802090306--