OSDN Git Service

2001-06-08 H.J. Lu <hjl@gnu.org>
authorhjl <hjl>
Sat, 9 Jun 2001 05:24:39 +0000 (05:24 +0000)
committerhjl <hjl>
Sat, 9 Jun 2001 05:24:39 +0000 (05:24 +0000)
* config/tc-mips.c (warn_nops): New variable. Set to 0 to
disable warning about all NOPS that the assembler generates.
(macro): Warn NOPS generated only if warn_nops is not 0.
(md_shortopts): Add `n'.
(md_parse_option): Set warn_nops to 1 for `n'.

gas/ChangeLog
gas/config/tc-mips.c

index ae2cd9c..6e2ad00 100644 (file)
@@ -1,5 +1,13 @@
 2001-06-08  H.J. Lu  <hjl@gnu.org>
 
+       * config/tc-mips.c (warn_nops): New variable. Set to 0 to
+       disable warning about all NOPS that the assembler generates.
+       (macro): Warn NOPS generated only if warn_nops is not 0.
+       (md_shortopts): Add `n'.
+       (md_parse_option): Set warn_nops to 1 for `n'.
+
+2001-06-08  H.J. Lu  <hjl@gnu.org>
+
        * config/tc-mips.c (mips_ip): Properly handle illegal operands.
 
 2001-06-08  H.J. Lu  <hjl@gnu.org>
index b61d01c..ea5fe48 100644 (file)
@@ -313,6 +313,9 @@ enum mips_pic_level
 
 static enum mips_pic_level mips_pic;
 
+/* Warn about all NOPS that the assembler generates.  */
+static int warn_nops = 0;
+
 /* 1 if we should generate 32 bit offsets from the GP register in
    SVR4_PIC mode.  Currently has no meaning in other modes.  */
 static int mips_big_got;
@@ -3626,12 +3629,16 @@ macro (ip)
          /* result is always false */
          if (! likely)
            {
-             as_warn (_("Branch %s is always false (nop)"), ip->insn_mo->name);
+             if (warn_nops)
+               as_warn (_("Branch %s is always false (nop)"),
+                        ip->insn_mo->name);
              macro_build ((char *) NULL, &icnt, NULL, "nop", "", 0);
            }
          else
            {
-             as_warn (_("Branch likely %s is always false"), ip->insn_mo->name);
+             if (warn_nops)
+               as_warn (_("Branch likely %s is always false"),
+                        ip->insn_mo->name);
              macro_build ((char *) NULL, &icnt, &offset_expr, "bnel",
                           "s,t,p", 0, 0);
            }
@@ -8867,7 +8874,7 @@ md_number_to_chars (buf, val, n)
     number_to_chars_littleendian (buf, val, n);
 }
 \f
-CONST char *md_shortopts = "O::g::G:";
+CONST char *md_shortopts = "nO::g::G:";
 
 struct option md_longopts[] =
 {
@@ -8984,6 +8991,10 @@ md_parse_option (c, arg)
       target_big_endian = 0;
       break;
 
+    case 'n':
+      warn_nops = 1;
+      break;
+
     case 'O':
       if (arg && arg[1] == '0')
        mips_optimize = 1;