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:
Jan Beulich 2022-12-22 14:31:11 +01:00
parent 760ab3d0db
commit a5ce326cfe
2 changed files with 14 additions and 14 deletions

View File

@ -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;
}

View File

@ -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