diff options
author | Markus Schoepflin <markus.schoepflin@comsoft.de> | 2009-01-11 10:56:52 +0000 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2009-01-11 11:56:52 +0100 |
commit | 53a7ff9a9a3cd7c53a80e560d42fed25af8752b5 (patch) | |
tree | 85b1b8232c612c7db96129cf396694b9a64a637b /gcc | |
parent | 6f611d522575ffdf119732db14f5fef982b5f3e3 (diff) | |
download | gcc-53a7ff9a9a3cd7c53a80e560d42fed25af8752b5.zip gcc-53a7ff9a9a3cd7c53a80e560d42fed25af8752b5.tar.gz gcc-53a7ff9a9a3cd7c53a80e560d42fed25af8752b5.tar.bz2 |
re PR debug/7055 ([alpha osf4] G++ 3.1 Produced bad debugging entries if compiled with -gcoff, also segv.)
PR debug/7055
* gcc/mips-tfile.c (parse_def): Fix parsing of def strings
starting with digits.
From-SVN: r143265
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/mips-tfile.c | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 22b14d2..1b108ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/mips-tfile.c b/gcc/mips-tfile.c index 87b278a..b984f47 100644 --- a/gcc/mips-tfile.c +++ b/gcc/mips-tfile.c @@ -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]) |