PR gas/11834
authorAlan Modra <amodra@gmail.com>
Fri, 23 Jul 2010 06:44:25 +0000 (06:44 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 23 Jul 2010 06:44:25 +0000 (06:44 +0000)
* macro.c (macro_expand): Recover gracefully from named args that
don't match params.

gas/ChangeLog
gas/macro.c

index 5d543f9..a157d02 100644 (file)
@@ -1,3 +1,9 @@
+2010-07-23  Alan Modra  <amodra@gmail.com>
+
+       PR gas/11834
+       * macro.c (macro_expand): Recover gracefully from named args that
+       don't match params.
+
 2010-07-22  Thomas Schwinge  <thomas@codesourcery.com>
 
        Switch MIPS to 32-bit DWARF format.
index 97f3414..3e3ffb1 100644 (file)
@@ -1072,9 +1072,13 @@ macro_expand (int idx, sb *in, macro_entry *m, sb *out)
          /* Lookup the formal in the macro's list.  */
          ptr = (formal_entry *) hash_find (m->formal_hash, sb_terminate (&t));
          if (!ptr)
-           as_bad (_("Parameter named `%s' does not exist for macro `%s'"),
-                   t.ptr,
-                   m->name);
+           {
+             as_bad (_("Parameter named `%s' does not exist for macro `%s'"),
+                     t.ptr,
+                     m->name);
+             sb_reset (&t);
+             idx = get_any_string (idx + 1, in, &t);
+           }
          else
            {
              /* Insert this value into the right place.  */