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> 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 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
alignment for assemble_integer for DW_EH_PE_aligned. alignment for assemble_integer for DW_EH_PE_aligned.
* except.c (output_function_exception_table): Likewise. * except.c (output_function_exception_table): Likewise.
......
...@@ -2481,16 +2481,22 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) ...@@ -2481,16 +2481,22 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
if (GET_CODE (body) == ASM_INPUT) if (GET_CODE (body) == ASM_INPUT)
{ {
const char *string = XSTR (body, 0);
/* There's no telling what that did to the condition codes. */ /* There's no telling what that did to the condition codes. */
CC_STATUS_INIT; CC_STATUS_INIT;
if (prescan > 0) if (prescan > 0)
break; break;
if (string[0])
{
if (! app_on) if (! app_on)
{ {
fputs (ASM_APP_ON, file); fputs (ASM_APP_ON, file);
app_on = 1; app_on = 1;
} }
fprintf (asm_out_file, "\t%s\n", XSTR (body, 0)); fprintf (asm_out_file, "\t%s\n", string);
}
break; break;
} }
...@@ -2506,12 +2512,6 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) ...@@ -2506,12 +2512,6 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
if (prescan > 0) if (prescan > 0)
break; break;
if (! app_on)
{
fputs (ASM_APP_ON, file);
app_on = 1;
}
/* Get out the operand values. */ /* Get out the operand values. */
string = decode_asm_operands (body, ops, NULL, NULL, NULL); string = decode_asm_operands (body, ops, NULL, NULL, NULL);
/* Inhibit aborts on what would otherwise be compiler bugs. */ /* Inhibit aborts on what would otherwise be compiler bugs. */
...@@ -2519,7 +2519,16 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) ...@@ -2519,7 +2519,16 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
this_is_asm_operands = insn; this_is_asm_operands = insn;
/* Output the insn using them. */ /* Output the insn using them. */
if (string[0])
{
if (! app_on)
{
fputs (ASM_APP_ON, file);
app_on = 1;
}
output_asm_insn (string, ops); output_asm_insn (string, ops);
}
this_is_asm_operands = 0; this_is_asm_operands = 0;
break; 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