This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
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