From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17884 invoked by alias); 28 Nov 2011 17:34:23 -0000 Received: (qmail 17571 invoked by uid 22791); 28 Nov 2011 17:34:22 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mms1.broadcom.com (HELO mms1.broadcom.com) (216.31.210.17) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 28 Nov 2011 17:34:06 +0000 Received: from [10.9.200.131] by mms1.broadcom.com with ESMTP (Broadcom SMTP Relay (Email Firewall v6.3.2)); Mon, 28 Nov 2011 09:42:01 -0800 X-Server-Uuid: 02CED230-5797-4B57-9875-D5D2FEE4708A Received: from mail-irva-13.broadcom.com (10.11.16.103) by IRVEXCHHUB01.corp.ad.broadcom.com (10.9.200.131) with Microsoft SMTP Server id 8.2.247.2; Mon, 28 Nov 2011 09:33:54 -0800 Received: from [10.177.73.58] (unknown [10.177.73.58]) by mail-irva-13.broadcom.com (Postfix) with ESMTP id AD188BC395 for ; Mon, 28 Nov 2011 09:33:53 -0800 (PST) Message-ID: <4ED3C600.9020209@broadcom.com> Date: Mon, 28 Nov 2011 17:34:00 -0000 From: "Andrew Burgess" User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: "gdb-patches@sourceware.org" Subject: [PATCH] Incorrect output in error case Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-11/txt/msg00778.txt.bz2 Hi, If I try this, $ cat woof.c #include int main () { printf ("Woof!\n"); return 0; } $ gcc -g -o woof.x woof.c $ mv woof.c woof.c.bak $ cat cmds.gdb list main quit $ gdb -q -x cmds.gdb woof.x Reading symbols from /home/andrew/tmp/woof.x...done. 1 woof.c: No such file or directory. in woof.c I believe the "in woof.c" output from gdb is a mistake caused by missing braces in an else clause. Patch/Changelog below for review. I think this is an "obvious" fix, so I'll commit this in a week unless someones says not to. Thanks, Andrew gdb/ChangeLog 2011-11-28 Andrew Burgess * source.c (print_source_lines_base): Fix missing braces on else clause leading to additional output. diff --git a/gdb/source.c b/gdb/source.c index 77df541..e456ac0 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -1322,10 +1322,12 @@ print_source_lines_base (struct symtab *s, int line, int print_sys_errmsg (name, errno); } else - ui_out_field_int (uiout, "line", line); - ui_out_text (uiout, "\tin "); - ui_out_field_string (uiout, "file", s->filename); - ui_out_text (uiout, "\n"); + { + ui_out_field_int (uiout, "line", line); + ui_out_text (uiout, "\tin "); + ui_out_field_string (uiout, "file", s->filename); + ui_out_text (uiout, "\n"); + } return; }