* c-exp.y (yylex): scan template names, and scan nested class

names.
This commit is contained in:
Kung Hsu 1994-11-02 23:11:47 +00:00
parent e640e6644d
commit a8d23c7364
2 changed files with 21 additions and 7 deletions

View File

@ -1,3 +1,8 @@
Wed Nov 2 15:05:39 1994 Kung Hsu (kung@mexican.cygnus.com)
* c-exp.y (yylex): scan template names, and scan nested class
names.
Wed Nov 2 11:01:55 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
* nlm/Makefile.in: install gdbserve.nlm.

View File

@ -1363,9 +1363,12 @@ yylex ()
namelen = 0;
for (c = tokstart[namelen];
(c == '_' || c == '$' || (c >= '0' && c <= '9')
|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
c = tokstart[++namelen])
;
|| (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '<');)
{
if (c == '<')
while (tokstart[++namelen] != '>');
c = tokstart[++namelen];
}
/* The token "if" terminates the expression and is NOT
removed from the input stream. */
@ -1574,11 +1577,17 @@ yylex ()
struct symbol *cur_sym;
/* As big as the whole rest of the expression, which is
at least big enough. */
char *tmp = alloca (strlen (namestart)+1);
char *ncopy = alloca (strlen (tmp)+strlen (namestart)+3);
char *tmp1;
memcpy (tmp, namestart, p - namestart);
tmp[p - namestart] = '\0';
cur_sym = lookup_symbol (tmp, expression_context_block,
tmp1 = ncopy;
memcpy (tmp1, tmp, strlen (tmp));
tmp1 += strlen (tmp);
memcpy (tmp1, "::", 2);
tmp1 += 2;
memcpy (tmp1, namestart, p - namestart);
tmp1[p - namestart] = '\0';
cur_sym = lookup_symbol (ncopy, expression_context_block,
VAR_NAMESPACE, (int *) NULL,
(struct symtab **) NULL);
if (cur_sym)