Don't track new type names during pass-1 parsing

This implementation was wrong anyway because it did not respect
scoping rules.  This will need to be revisited soon.  The most likely
result is that the grammar is going to need some significant re-work
to be able to use a IDENTIFIER in all the places where a TYPE_NAME is
currently used.
This commit is contained in:
Ian Romanick 2010-03-19 11:12:33 -07:00
parent e309a6051d
commit b0bb781e1d
2 changed files with 1 additions and 11 deletions

View File

@ -24,7 +24,6 @@
#include "ast.h"
#include "glsl_parser_extras.h"
#include "glsl_parser.h"
#include "symbol_table.h"
#define YY_USER_ACTION \
do { \
@ -245,13 +244,7 @@ precision return PRECISION;
[_a-zA-Z][_a-zA-Z0-9]* {
yylval->identifier = strdup(yytext);
if (_mesa_symbol_table_find_symbol(yyextra->symbols,
0,
yylval->identifier))
return TYPE_NAME;
else
return IDENTIFIER;
return IDENTIFIER;
}
. { return yytext[0]; }

View File

@ -28,7 +28,6 @@
#include "ast.h"
#include "glsl_parser_extras.h"
#include "symbol_table.h"
#include "glsl_types.h"
#define YYLEX_PARAM state->scanner
@ -934,8 +933,6 @@ struct_specifier:
STRUCT IDENTIFIER '{' struct_declaration_list '}'
{
$$ = new ast_struct_specifier($2, $4);
_mesa_symbol_table_add_symbol(state->symbols, 0, $2, $$);
}
| STRUCT '{' struct_declaration_list '}'
{