From: Richard Henderson Date: Mon, 27 Aug 2001 17:29:57 +0000 (-0700) Subject: final.c (final_scan_insn): Don't enter APP_ON mode for empty asm strings. X-Git-Tag: prereleases/libstdc++-3.0.95~2416 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=36d7136e9983a0c8f2d07b84a0b8cb16f8e9e9db;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cdaf55abe6de..6b90b3eb84fd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2001-08-27 Richard Henderson + * 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. diff --git a/gcc/final.c b/gcc/final.c index d524ccb93457..ec29a45952d7 100644 --- a/gcc/final.c +++ b/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; }