From: Jim Wilson Date: Tue, 23 Jun 1992 23:35:44 +0000 (-0700) Subject: (print_operand): For '*', only annul branch if optimizing, to avoid dbx bug. X-Git-Tag: misc/cutover-egcs-0~12684 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c6ce096931bca8b33812e9eb5f25d36990585f7b;p=thirdparty%2Fgcc.git (print_operand): For '*', only annul branch if optimizing, to avoid dbx bug. Add '(' to handle unoptimized case. From-SVN: r1247 --- diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index cb7d52bdc70a..3d453ca61a77 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -2708,9 +2708,18 @@ print_operand (file, x, code) fputs ("\n\tnop", file); return; case '*': - /* Output an annul flag if there's nothing for the delay slot. */ - if (dbr_sequence_length () == 0) - fputs (",a", file); + /* Output an annul flag if there's nothing for the delay slot and we + are optimizing. This is always used with '(' below. */ + /* Sun OS 4.1.1 dbx can't handle an annulled unconditional branch; + this is a dbx bug. So, we only do this when optimizing. */ + if (dbr_sequence_length () == 0 && optimize) + fputs (",a", file); + return; + case '(': + /* Output a 'nop' if there's nothing for the delay slot and we are + not optimizing. This is always used with '*' above. */ + if (dbr_sequence_length () == 0 && ! optimize) + fputs ("\n\tnop", file); return; case 'Y': /* Adjust the operand to take into account a RESTORE operation. */