gas/
authorJan Beulich <jbeulich@novell.com>
Thu, 17 Nov 2005 08:33:36 +0000 (08:33 +0000)
committerJan Beulich <jbeulich@novell.com>
Thu, 17 Nov 2005 08:33:36 +0000 (08:33 +0000)
2005-11-17  Jan Beulich  <jbeulich@novell.com>

* dw2gencfi.c (dot_cfi): Put argument parsing for cases
DW_CFA_restore and DW_CFA_undefined in a loop.

gas/ChangeLog
gas/dw2gencfi.c

index 531391959fdaf4319e0473044149fe182c3d0f88..63a84e10a43e996c106df8300f41d30d21bb52e5 100644 (file)
@@ -1,3 +1,8 @@
+2005-11-17  Jan Beulich  <jbeulich@novell.com>
+
+       * dw2gencfi.c (dot_cfi): Put argument parsing for cases
+       DW_CFA_restore and DW_CFA_undefined in a loop.
+
 2005-11-17  Jan Beulich  <jbeulich@novell.com>
 
 
index 9601b30d778ca17bab73f1c51475887c9bbe07c3..eb2f476b71105a5c6d70a78f17f961af5b8e2b8b 100644 (file)
@@ -502,13 +502,27 @@ dot_cfi (int arg)
       break;
 
     case DW_CFA_restore:
-      reg1 = cfi_parse_reg ();
-      cfi_add_CFA_restore (reg1);
+      for (;;)
+       {
+         reg1 = cfi_parse_reg ();
+         cfi_add_CFA_restore (reg1);
+         SKIP_WHITESPACE ();
+         if (*input_line_pointer != ',')
+           break;
+         ++input_line_pointer;
+       }
       break;
 
     case DW_CFA_undefined:
-      reg1 = cfi_parse_reg ();
-      cfi_add_CFA_undefined (reg1);
+      for (;;)
+       {
+         reg1 = cfi_parse_reg ();
+         cfi_add_CFA_undefined (reg1);
+         SKIP_WHITESPACE ();
+         if (*input_line_pointer != ',')
+           break;
+         ++input_line_pointer;
+       }
       break;
 
     case DW_CFA_same_value: