This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [PATCH 02/16] source: add flags to print_source_lines ()


On Wed, 23 May 2012 13:22:17 +0200, markus.t.metzger@intel.com wrote:
> From: Markus Metzger <markus.t.metzger@intel.com>
> 
> 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-05-23 Markus Metzger <markus.t.metzger@intel.com>
> 
>   gdb/
>   * 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

The indentation should not be there, just:

gdb/
	* 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.

And every sentence should be terminated by a dot.

> 
> 
> ---
>  gdb/source.c |   14 ++++++--------
>  gdb/symtab.h |    5 +++++
>  2 files changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/gdb/source.c b/gdb/source.c
> index 27c5b0e..4dd7ed2 100644
> --- a/gdb/source.c
> +++ b/gdb/source.c
> @@ -1225,10 +1225,8 @@ 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, int flags)

Make it then 'enum print_source_lines_flags flags'.


>  {
>    int c;
>    int desc;
> @@ -1256,13 +1254,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;
>      }
>  
> @@ -1270,7 +1268,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);
> @@ -1356,9 +1354,9 @@ 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, int flags)

Here again.

>  {
> -  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 526fe5a..a8c57cf 100644
> --- a/gdb/symtab.h
> +++ b/gdb/symtab.h
> @@ -1143,6 +1143,11 @@ extern void clear_solib (void);
>  
>  extern int identify_source_line (struct symtab *, int, int, CORE_ADDR);
>  
> +/* Flags passed as 4th argument to print_source_lines.  */
> +enum print_source_lines_flags {
> +    PRINT_SOURCE_LINES_NOERROR = (0x1 << 0)
> +};

GNU Coding Style formatting is (+I changed 0x1, it is just a bit):

enum print_source_lines_flags
{
  PRINT_SOURCE_LINES_NOERROR = (1 << 0)
};


> +
>  extern void print_source_lines (struct symtab *, int, int, int);
>  
>  extern void forget_cached_source_info_for_objfile (struct objfile *);
> -- 
> 1.7.1


Thanks,
Jan


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