summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2006-10-13 07:39:34 +0000
committerNathan Sidwell <nathan@codesourcery.com>2006-10-13 07:39:34 +0000
commit02e0bada5a923f00ffef0e17af0e10868d8a97c3 (patch)
tree37f949bf1a2bf9c3a8149fc3505e6c96ec91b23b
parent18fb1387f5297a8b8b627746d8c3a47bdf101a03 (diff)
downloadbinutils-redhat-02e0bada5a923f00ffef0e17af0e10868d8a97c3.tar.gz
gas/
* config/tc-m68k.c (m68k_ip): Correct output of cpu aliases.
-rw-r--r--ChangeLog.csl5
-rw-r--r--gas/config/tc-m68k.c36
2 files changed, 24 insertions, 17 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 00483a8550..561a5d7e17 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -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/
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index ff9539e011..4307dea406 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -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)