From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22999 invoked by alias); 14 Aug 2012 13:00:32 -0000 Received: (qmail 22751 invoked by uid 22791); 14 Aug 2012 13:00:27 -0000 X-SWARE-Spam-Status: No, hits=-7.8 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,TW_BJ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mga02.intel.com (HELO mga02.intel.com) (134.134.136.20) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 14 Aug 2012 13:00:13 +0000 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 14 Aug 2012 06:00:13 -0700 X-ExtLoop1: 1 Received: from swsutil001.isw.intel.com ([10.237.237.11]) by orsmga002.jf.intel.com with ESMTP; 14 Aug 2012 05:59:53 -0700 Received: from ulslx001.iul.intel.com (ulslx001.iul.intel.com [172.28.207.63]) by swsutil001.isw.intel.com (8.13.6/8.13.6/MailSET/Hub) with ESMTP id q7ECxqeH029041; Tue, 14 Aug 2012 13:59:52 +0100 Received: from ulslx001.iul.intel.com (localhost [127.0.0.1]) by ulslx001.iul.intel.com with ESMTP id q7ECxp25009897; Tue, 14 Aug 2012 14:59:51 +0200 Received: (from mmetzger@localhost) by ulslx001.iul.intel.com with id q7ECxp0c009893; Tue, 14 Aug 2012 14:59:51 +0200 From: markus.t.metzger@intel.com To: gdb-patches@sourceware.org Cc: markus.t.metzger@gmail.com, jan.kratochvil@redhat.com, palves@redhat.com, tromey@redhat.com, kettenis@gnu.org, Markus Metzger Subject: [patch v3 03/16] source: add flags to print_source_lines () Date: Tue, 14 Aug 2012 13:01:00 -0000 Message-Id: <1344949171-9545-4-git-send-email-markus.t.metzger@intel.com> In-Reply-To: <1344949171-9545-1-git-send-email-markus.t.metzger@intel.com> References: <1344949171-9545-1-git-send-email-markus.t.metzger@intel.com> 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: 2012-08/txt/msg00395.txt.bz2 From: Markus Metzger The 4th parameter of print_source_lines is a boolean flag noerror. Generalize this to be a bit vector of flags and make noerror one of the flag bits. 2012-08-14 Markus Metzger * symtab.h (print_source_lines_flags): New enum. * source.c (print_source_lines_base): Change noerror to flags. (print_source_lines): Change noerror to flags. --- gdb/source.c | 16 ++++++++-------- gdb/symtab.h | 11 ++++++++++- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/gdb/source.c b/gdb/source.c index 0ff0782..d4616be 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -1245,10 +1245,9 @@ identify_source_line (struct symtab *s, int line, int mid_statement, /* Print source lines from the file of symtab S, starting with line number LINE and stopping before line number STOPLINE. */ -static void print_source_lines_base (struct symtab *s, int line, int stopline, - int noerror); static void -print_source_lines_base (struct symtab *s, int line, int stopline, int noerror) +print_source_lines_base (struct symtab *s, int line, int stopline, + enum print_source_lines_flags flags) { int c; int desc; @@ -1276,13 +1275,13 @@ print_source_lines_base (struct symtab *s, int line, int stopline, int noerror) else { desc = last_source_error; - noerror = 1; + flags |= PRINT_SOURCE_LINES_NOERROR; } } else { desc = last_source_error; - noerror = 1; + flags |= PRINT_SOURCE_LINES_NOERROR; noprint = 1; } @@ -1290,7 +1289,7 @@ print_source_lines_base (struct symtab *s, int line, int stopline, int noerror) { last_source_error = desc; - if (!noerror) + if (!(flags & PRINT_SOURCE_LINES_NOERROR)) { char *name = alloca (strlen (s->filename) + 100); sprintf (name, "%d\t%s", line, s->filename); @@ -1376,9 +1375,10 @@ print_source_lines_base (struct symtab *s, int line, int stopline, int noerror) window otherwise it is simply printed. */ void -print_source_lines (struct symtab *s, int line, int stopline, int noerror) +print_source_lines (struct symtab *s, int line, int stopline, + enum print_source_lines_flags flags) { - print_source_lines_base (s, line, stopline, noerror); + print_source_lines_base (s, line, stopline, flags); } /* Print info on range of pc's in a specified line. */ diff --git a/gdb/symtab.h b/gdb/symtab.h index 76120a3..750da2a 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1141,7 +1141,16 @@ extern void clear_solib (void); extern int identify_source_line (struct symtab *, int, int, CORE_ADDR); -extern void print_source_lines (struct symtab *, int, int, int); +/* Flags passed as 4th argument to print_source_lines. */ + +enum print_source_lines_flags + { + /* Do not print an error message. */ + PRINT_SOURCE_LINES_NOERROR = (1 << 0) + }; + +extern void print_source_lines (struct symtab *, int, int, + enum print_source_lines_flags); extern void forget_cached_source_info_for_objfile (struct objfile *); extern void forget_cached_source_info (void); -- 1.7.1