Commit 36d7136e by Richard Henderson Committed by Richard Henderson

final.c (final_scan_insn): Don't enter APP_ON mode for empty asm strings.

        * final.c (final_scan_insn): Don't enter APP_ON mode for
        empty asm strings.

From-SVN: r45199
parent 225b9cb9
2001-08-27 Richard Henderson <rth@redhat.com>
* final.c (final_scan_insn): Don't enter APP_ON mode for
empty asm strings.
* dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
alignment for assemble_integer for DW_EH_PE_aligned.
* except.c (output_function_exception_table): Likewise.
......
......@@ -2481,16 +2481,22 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
if (GET_CODE (body) == ASM_INPUT)
{
const char *string = XSTR (body, 0);
/* There's no telling what that did to the condition codes. */
CC_STATUS_INIT;
if (prescan > 0)
break;
if (! app_on)
if (string[0])
{
fputs (ASM_APP_ON, file);
app_on = 1;
if (! app_on)
{
fputs (ASM_APP_ON, file);
app_on = 1;
}
fprintf (asm_out_file, "\t%s\n", string);
}
fprintf (asm_out_file, "\t%s\n", XSTR (body, 0));
break;
}
......@@ -2506,12 +2512,6 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
if (prescan > 0)
break;
if (! app_on)
{
fputs (ASM_APP_ON, file);
app_on = 1;
}
/* Get out the operand values. */
string = decode_asm_operands (body, ops, NULL, NULL, NULL);
/* Inhibit aborts on what would otherwise be compiler bugs. */
......@@ -2519,7 +2519,16 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
this_is_asm_operands = insn;
/* Output the insn using them. */
output_asm_insn (string, ops);
if (string[0])
{
if (! app_on)
{
fputs (ASM_APP_ON, file);
app_on = 1;
}
output_asm_insn (string, ops);
}
this_is_asm_operands = 0;
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment