diff options
author | Alan Modra <amodra@bigpond.net.au> | 2007-04-20 13:42:03 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2007-04-20 13:42:03 +0000 |
commit | 491deb745195fc3112b0ad79034bc9df2f3bde24 (patch) | |
tree | b2445a7627ac0f1e07d663eba50715b045963383 | |
parent | 8246cf2aa71c650955afc758e2b3c9c0aba03f8c (diff) | |
download | binutils-redhat-491deb745195fc3112b0ad79034bc9df2f3bde24.tar.gz |
* messages.c (as_internal_value_out_of_range): Fix typo in
error message. Return after printing domain error.
* config/tc-ppc.c (ppc_insert_operand): Preserve low zero bits
in max when shifting right.
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 4 | ||||
-rw-r--r-- | gas/messages.c | 3 |
3 files changed, 11 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 3bcaf48e28..33f9bf64cf 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,12 @@ 2007-04-20 Alan Modra <amodra@bigpond.net.au> + * messages.c (as_internal_value_out_of_range): Fix typo in + error message. Return after printing domain error. + * config/tc-ppc.c (ppc_insert_operand): Preserve low zero bits + in max when shifting right. + +2007-04-20 Alan Modra <amodra@bigpond.net.au> + * messages.c (as_internal_value_out_of_range): Extend to report errors for values with invalid low bits set. * config/tc-ppc.c (ppc_setup_opcodes): Check powerpc_operands bitm diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index be745abbf6..5a5cb38926 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -1508,8 +1508,8 @@ ppc_insert_operand (insn, operand, val, file, line) if ((operand->flags & PPC_OPERAND_SIGNED) != 0) { if ((operand->flags & PPC_OPERAND_SIGNOPT) == 0) - max >>= 1; - min = ~(max | ((max & -max) - 1)) ; + max = (max >> 1) & -right; + min = ~max & -right; if (!ppc_obj64) { diff --git a/gas/messages.c b/gas/messages.c index 5736bac716..c8788dcc32 100644 --- a/gas/messages.c +++ b/gas/messages.c @@ -464,13 +464,14 @@ as_internal_value_out_of_range (char * prefix, abort (); /* xgettext:c-format */ - err = _("%s out of domain (%d is not a multiple of %d"); + err = _("%s out of domain (%d is not a multiple of %d)"); if (bad) as_bad_where (file, line, err, prefix, (int) val, (int) right); else as_warn_where (file, line, err, prefix, (int) val, (int) right); + return; } if ( val < HEX_MAX_THRESHOLD |