aboutsummaryrefslogtreecommitdiff
path: root/gdb/stabsread.c
diff options
context:
space:
mode:
authorKung Hsu <kung@cygnus>1993-12-28 02:46:34 +0000
committerKung Hsu <kung@cygnus>1993-12-28 02:46:34 +0000
commit279a3cfdfb22f0fd4470ecfb6a7bde4ce32f5b50 (patch)
treeb8d9590e5715ea3b935d459b261cdcc2d9e43d89 /gdb/stabsread.c
parentf2f824ae578ccc817498941fece4001866227213 (diff)
downloadgdb-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.c8
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)