gas: re-arrange listing output for .irp and alike
It is kind of odd to have the expansions of such constructs ahead of their definition in listings with macro expansion enabled. Adjust this by pulling ahead the output of the definition lines, taking care to avoid producing a listing line for (non-existing) line 0 when the source is stdin. Note that with the code movement the conditional operator isn't necessary anymore - list->line now match up.
This commit is contained in:
parent
760ab3d0db
commit
a5ce326cfe
@ -1247,18 +1247,7 @@ listing_listing (char *name ATTRIBUTE_UNUSED)
|
||||
if (current_hll_file && list->hll_line && (listing & LISTING_HLL))
|
||||
print_source (current_hll_file, list, width);
|
||||
|
||||
if (list->line_contents)
|
||||
{
|
||||
if (!((listing & LISTING_NODEBUG)
|
||||
&& debugging_pseudo (list, list->line_contents)))
|
||||
print_lines (list,
|
||||
list->file->linenum == 0 ? list->line : list->file->linenum,
|
||||
list->line_contents, calc_hex (list));
|
||||
|
||||
free (list->line_contents);
|
||||
list->line_contents = NULL;
|
||||
}
|
||||
else
|
||||
if (!list->line_contents || list->file->linenum)
|
||||
{
|
||||
while (list->file->linenum < list_line
|
||||
&& !list->file->at_end)
|
||||
@ -1278,6 +1267,17 @@ listing_listing (char *name ATTRIBUTE_UNUSED)
|
||||
}
|
||||
}
|
||||
|
||||
if (list->line_contents)
|
||||
{
|
||||
if (!((listing & LISTING_NODEBUG)
|
||||
&& debugging_pseudo (list, list->line_contents)))
|
||||
print_lines (list, list->line, list->line_contents,
|
||||
calc_hex (list));
|
||||
|
||||
free (list->line_contents);
|
||||
list->line_contents = NULL;
|
||||
}
|
||||
|
||||
if (list->edict == EDICT_EJECT)
|
||||
eject = 1;
|
||||
}
|
||||
|
@ -45,6 +45,8 @@
|
||||
[ ]*[0-9]+[ ]*
|
||||
[ ]*[0-9]+[ ]+\.irp isa, default, .*
|
||||
#...
|
||||
[ ]*[0-9]+[ ]+\.endr
|
||||
#...
|
||||
[ ]*[0-9]+[ ]+> \.arch default
|
||||
[ ]*[0-9]+[ ]+> \.arch default
|
||||
[ ]*[0-9]+[ ]+\?\?\?\? 62F27D4F > vpabsb %zmm5,%zmm6\{%k7\}
|
||||
@ -399,8 +401,6 @@
|
||||
[ ]*[0-9]+[ ]+> vpermb %xmm4,%xmm5,%xmm6\{%k7\}
|
||||
[ ]*[0-9]+[ ]+> vpermb %ymm4,%ymm5,%ymm6\{%k7\}
|
||||
#...
|
||||
[ ]*[0-9]+[ ]+\.endr
|
||||
[ ]*[0-9]+[ ]*
|
||||
[ ]*[0-9]+[ ]+\?\?\?\? C4E2791C vpabsb %xmm5, %xmm6
|
||||
[ ]*[0-9]+[ ]+F5
|
||||
[ ]*[0-9]+[ ]+\?\?\?\? C4E27D1C vpabsb %ymm5, %ymm6
|
||||
|
Loading…
x
Reference in New Issue
Block a user