* 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.
This commit is contained in:
Markus Metzger 2012-11-13 15:19:56 +00:00
parent 3ba6ad0f87
commit dfaae88645
3 changed files with 24 additions and 9 deletions

View File

@ -1,3 +1,9 @@
2012-11-13 Markus Metzger <markus.t.metzger@intel.com>
* 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.
2012-11-13 Pierre Muller <muller@sourceware.org>
ARI fixes: Avoid sprintf function use rule.

View File

@ -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))
{
int len = strlen (s->filename) + 100;
char *name = alloca (len);
@ -1385,9 +1384,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. */

View File

@ -1162,7 +1162,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);