diff options
author | Kung Hsu <kung@cygnus> | 1993-12-28 02:46:34 +0000 |
---|---|---|
committer | Kung Hsu <kung@cygnus> | 1993-12-28 02:46:34 +0000 |
commit | 279a3cfdfb22f0fd4470ecfb6a7bde4ce32f5b50 (patch) | |
tree | b8d9590e5715ea3b935d459b261cdcc2d9e43d89 /gdb/stabsread.c | |
parent | f2f824ae578ccc817498941fece4001866227213 (diff) | |
download | gdb-279a3cfdfb22f0fd4470ecfb6a7bde4ce32f5b50.zip gdb-279a3cfdfb22f0fd4470ecfb6a7bde4ce32f5b50.tar.gz gdb-279a3cfdfb22f0fd4470ecfb6a7bde4ce32f5b50.tar.bz2 |
Modified Files:
ChangeLog stabsread.c
* stabsread.c (read_type): fix problem when reading static member
of a class. caused by change to allow :: inside template
instantiated name.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r-- | gdb/stabsread.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 4b97a60..4cd13f9 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -1315,7 +1315,7 @@ read_type (pp, objfile) char *type_name; { - char *from, *to, *p; + char *from, *to, *p, *q1, *q2; /* Set the type code according to the following letter. */ switch ((*pp)[0]) @@ -1341,11 +1341,15 @@ read_type (pp, objfile) } } + q1 = strchr(*pp, '<'); p = strchr(*pp, ':'); if (p == NULL) return error_type (pp); - while (p[1] == ':') + while (q1 && p > q1 && p[1] == ':') { + q2 = strchr(q1, '>'); + if (!q2 || q2 < p) + break; p += 2; p = strchr(p, ':'); if (p == NULL) |