* messages.c (as_internal_value_out_of_range): Fix typo in
authorAlan Modra <amodra@gmail.com>
Fri, 20 Apr 2007 13:42:03 +0000 (13:42 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 20 Apr 2007 13:42:03 +0000 (13:42 +0000)
error message.  Return after printing domain error.
* config/tc-ppc.c (ppc_insert_operand): Preserve low zero bits
in max when shifting right.

gas/ChangeLog
gas/config/tc-ppc.c
gas/messages.c

index 3bcaf48..33f9bf6 100644 (file)
@@ -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
index be745ab..5a5cb38 100644 (file)
@@ -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)
        {
index 5736bac..c8788dc 100644 (file)
@@ -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