gas/
authorNathan Sidwell <nathan@codesourcery.com>
Fri, 13 Oct 2006 07:39:34 +0000 (07:39 +0000)
committerNathan Sidwell <nathan@codesourcery.com>
Fri, 13 Oct 2006 07:39:34 +0000 (07:39 +0000)
* config/tc-m68k.c (m68k_ip):  Correct output of cpu aliases.

ChangeLog.csl
gas/config/tc-m68k.c

index 00483a8..561a5d7 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-13  Nathan Sidwell  <nathan@codesourcery.com>
+
+       gas/
+       * config/tc-m68k.c (m68k_ip):  Correct output of cpu aliases.
+
 2006-10-03  Joseph Myers  <joseph@codesourcery.com>
 
        ld/
index ff9539e..4307dea 100644 (file)
@@ -2084,29 +2084,31 @@ m68k_ip (char *instring)
                if (!cpu->alias && (cpu->arch & ok_arch))
                  {
                    const struct m68k_cpu *alias;
-
+                   int seen_master = 0;
+                   
                    if (any)
                      APPEND (", ");
                    any = 0;
                    APPEND (cpu->name);
-                   APPEND (" [");
-                   if (cpu != m68k_cpus)
-                     for (alias = cpu - 1; alias->alias; alias--)
+                   for (alias = cpu; alias != m68k_cpus; alias--)
+                     if (alias[-1].alias >= 0)
+                       break;
+                   for (; !seen_master || alias->alias > 0; alias++)
                        {
-                         if (any)
-                           APPEND (", ");
-                         APPEND (alias->name);
-                         any = 1;
+                         if (!alias->alias)
+                           seen_master = 1;
+                         else
+                           {
+                             if (any)
+                               APPEND (", ");
+                             else
+                               APPEND (" [");
+                             APPEND (alias->name);
+                             any = 1;
+                           }
                        }
-                   for (alias = cpu + 1; alias->alias; alias++)
-                     {
-                       if (any)
-                         APPEND (", ");
-                       APPEND (alias->name);
-                       any = 1;
-                     }
-                   
-                   APPEND ("]");
+                   if (any)
+                     APPEND ("]");
                    any = 1;
                  }
              if (paren)