From: Jim Wilson Date: Sun, 15 Apr 2001 08:01:04 +0000 (+0000) Subject: Fix latent bug exposed by a gcc-3 bug fix. X-Git-Tag: binutils-2_11_1~51 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f057c89fa042169a677a300db536c5777206788a;p=thirdparty%2Fbinutils-gdb.git Fix latent bug exposed by a gcc-3 bug fix. * tc-ia64.c (is_conditional_branch): Return true for br, brl, and br. excluding br.i. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 7f6a6292aba..50955e3bc80 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2001-04-13 Jim Wilson + + * tc-ia64.c (is_conditional_branch): Return true for br, brl, and br. + excluding br.i. + 2001-04-02 Philip Blundell From 2001-03-17 Richard Henderson diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index fab050a9dec..b9e16847245 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -6869,19 +6869,19 @@ ia64_canonicalize_symbol_name (name) return name; } +/* Return true if idesc is a conditional branch instruction. */ + static int is_conditional_branch (idesc) struct ia64_opcode *idesc; { - return (strncmp (idesc->name, "br", 2) == 0 - && (strcmp (idesc->name, "br") == 0 - || strncmp (idesc->name, "br.cond", 7) == 0 - || strncmp (idesc->name, "br.call", 7) == 0 - || strncmp (idesc->name, "br.ret", 6) == 0 - || strcmp (idesc->name, "brl") == 0 - || strncmp (idesc->name, "brl.cond", 7) == 0 - || strncmp (idesc->name, "brl.call", 7) == 0 - || strncmp (idesc->name, "brl.ret", 6) == 0)); + /* br is a conditional branch. Everything that starts with br. except + br.ia is a conditional branch. Everything that starts with brl is a + conditional branch. */ + return (idesc->name[0] == 'b' && idesc->name[1] == 'r' + && (idesc->name[2] == '\0' + || (idesc->name[2] == '.' && idesc->name[3] != 'i') + || idesc->name[2] == 'l')); } /* Return whether the given opcode is a taken branch. If there's any doubt,