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
This commit is contained in:
parent
225b9cb9f7
commit
36d7136e99
@ -1,5 +1,8 @@
|
||||
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.
|
||||
|
31
gcc/final.c
31
gcc/final.c
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user