PR debug/7055
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 11 Jan 2009 10:56:52 +0000 (10:56 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 11 Jan 2009 10:56:52 +0000 (10:56 +0000)
* gcc/mips-tfile.c (parse_def): Fix parsing of def strings
starting with digits.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143265 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/mips-tfile.c

index 22b14d2..1b108ed 100644 (file)
@@ -1,3 +1,9 @@
+2009-01-11  Markus Schoepflin  <markus.schoepflin@comsoft.de>
+
+       PR debug/7055
+       * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
+       starting with digits.
+
 2009-01-10  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/38695
index 87b278a..b984f47 100644 (file)
@@ -2855,7 +2855,8 @@ parse_def (const char *name_start)
        {
          int ch2;
          arg_number = strtol (arg_start, (char **) &arg_end_p1, 0);
-         if (arg_end_p1 != arg_start || ((ch2 = *arg_end_p1) != ';') || ch2 != ',')
+         /* It's only a number if followed by ';' or ','. */
+         if (arg_end_p1 != arg_start && (((ch2 = *arg_end_p1) == ';') || ch2 == ','))
            arg_was_number++;
        }
 
@@ -2911,7 +2912,7 @@ parse_def (const char *name_start)
                    {
                      int ch2;
                      arg_number = strtol (arg_start, (char **) &arg_end_p1, 0);
-                     if (arg_end_p1 != arg_start || ((ch2 = *arg_end_p1) != ';') || ch2 != ',')
+                     if (arg_end_p1 != arg_start && (((ch2 = *arg_end_p1) == ';') || ch2 == ','))
                        arg_was_number++;
 
                      if (t_ptr == &temp_array[0])
@@ -2985,7 +2986,7 @@ parse_def (const char *name_start)
                    {
                      int ch2;
                      arg_number = strtol (arg_start, (char **) &arg_end_p1, 0);
-                     if (arg_end_p1 != arg_start || ((ch2 = *arg_end_p1) != ';') || ch2 != ',')
+                     if (arg_end_p1 != arg_start && (((ch2 = *arg_end_p1) == ';') || ch2 == ','))
                        arg_was_number++;
 
                      if (t_ptr == &temp_array[0])