Disable the inclusion of logical input files in the assembler listing output unless high level source listing has been enabled.
PR 21977 * listing.c (listing_newline): Use the name of the current physical input file, rather than the current logical input file, unless including high level source in the listing. * input-scrub.c (as_where_physical): New function. Returns the name of the current physical input file. * as.h: Add prototype for as_where_physical.
This commit is contained in:
parent
fe22022617
commit
39865a7f42
@ -1,3 +1,13 @@
|
||||
2017-10-11 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 21977
|
||||
* listing.c (listing_newline): Use the name of the current
|
||||
physical input file, rather than the current logical input file,
|
||||
unless including high level source in the listing.
|
||||
* input-scrub.c (as_where_physical): New function. Returns the
|
||||
name of the current physical input file.
|
||||
* as.h: Add prototype for as_where_physical.
|
||||
|
||||
2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||||
|
||||
* testsuite/gas/s390/zarch-arch12.d (prno, tpei, irbm): New
|
||||
|
1
gas/as.h
1
gas/as.h
@ -486,6 +486,7 @@ void cond_exit_macro (int);
|
||||
int seen_at_least_1_file (void);
|
||||
void app_pop (char *);
|
||||
const char * as_where (unsigned int *);
|
||||
const char * as_where_physical (unsigned int *);
|
||||
void bump_line_counters (void);
|
||||
void do_scrub_begin (int);
|
||||
void input_scrub_begin (void);
|
||||
|
@ -487,6 +487,23 @@ new_logical_line (const char *fname, int line_number)
|
||||
}
|
||||
|
||||
|
||||
/* Return the current physical input file name and line number, if known */
|
||||
|
||||
const char *
|
||||
as_where_physical (unsigned int *linep)
|
||||
{
|
||||
if (physical_input_file != NULL)
|
||||
{
|
||||
if (linep != NULL)
|
||||
*linep = physical_input_line;
|
||||
return physical_input_file;
|
||||
}
|
||||
|
||||
if (linep != NULL)
|
||||
*linep = 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Return the current file name and line number. */
|
||||
|
||||
const char *
|
||||
@ -499,16 +516,7 @@ as_where (unsigned int *linep)
|
||||
*linep = logical_input_line;
|
||||
return logical_input_file;
|
||||
}
|
||||
else if (physical_input_file != NULL)
|
||||
{
|
||||
if (linep != NULL)
|
||||
*linep = physical_input_line;
|
||||
return physical_input_file;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (linep != NULL)
|
||||
*linep = 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return as_where_physical (linep);
|
||||
}
|
||||
|
||||
|
@ -324,7 +324,13 @@ listing_newline (char *ps)
|
||||
}
|
||||
#endif
|
||||
|
||||
file = as_where (&line);
|
||||
/* PR 21977 - use the physical file name not the logical one unless high
|
||||
level source files are being included in the listing. */
|
||||
if (listing & LISTING_HLL)
|
||||
file = as_where (&line);
|
||||
else
|
||||
file = as_where_physical (&line);
|
||||
|
||||
if (ps == NULL)
|
||||
{
|
||||
if (line == last_line
|
||||
|
Loading…
x
Reference in New Issue
Block a user