diff options
author | marha <marha@users.sourceforge.net> | 2012-10-26 08:09:05 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-10-26 08:09:05 +0200 |
commit | 8d86f8c566c4181c846a872a5a2f88718e635a72 (patch) | |
tree | f19c89fae4a0b9fd62ee9a2a1368e5b127bef505 /mesalib/src/glsl/glcpp | |
parent | 281f26a1dfda732687680a36857960f74608df5b (diff) | |
download | vcxsrv-8d86f8c566c4181c846a872a5a2f88718e635a72.tar.gz vcxsrv-8d86f8c566c4181c846a872a5a2f88718e635a72.tar.bz2 vcxsrv-8d86f8c566c4181c846a872a5a2f88718e635a72.zip |
fontconfig pixman mesa git update 26 oct 2012
fontconfig: 038aa930ae2c3b7972eefe334917e7222fe478ec
mesa: 8fb4b1dce156d02a0907925364d8945915c29bcf
pixman: 4b91f6ca72db3e8cbd7e97e9ef44be2f8994040d
Diffstat (limited to 'mesalib/src/glsl/glcpp')
-rw-r--r-- | mesalib/src/glsl/glcpp/glcpp-lex.l | 20 | ||||
-rw-r--r-- | mesalib/src/glsl/glcpp/glcpp-parse.y | 12 |
2 files changed, 20 insertions, 12 deletions
diff --git a/mesalib/src/glsl/glcpp/glcpp-lex.l b/mesalib/src/glsl/glcpp/glcpp-lex.l index 7ab58cb28..783c54549 100644 --- a/mesalib/src/glsl/glcpp/glcpp-lex.l +++ b/mesalib/src/glsl/glcpp/glcpp-lex.l @@ -67,7 +67,7 @@ void glcpp_set_column (int column_no , yyscan_t yyscanner); %option stack %option never-interactive -%x DONE COMMENT UNREACHABLE SKIP +%x DONE COMMENT UNREACHABLE SKIP DEFINE SPACE [[:space:]] NONSPACE [^[:space:]] @@ -184,14 +184,22 @@ HEXADECIMAL_INTEGER 0[xX][0-9a-fA-F]+[uU]? glcpp_error(yylloc, yyextra, "#error%s", p); } -{HASH}define{HSPACE}+/{IDENTIFIER}"(" { +{HASH}define{HSPACE}+ { yyextra->space_tokens = 0; - return HASH_DEFINE_FUNC; + yy_push_state(DEFINE, yyscanner); + return HASH_DEFINE; } -{HASH}define { - yyextra->space_tokens = 0; - return HASH_DEFINE_OBJ; +<DEFINE>{IDENTIFIER}/"(" { + yy_pop_state(yyscanner); + yylval->str = ralloc_strdup (yyextra, yytext); + return FUNC_IDENTIFIER; +} + +<DEFINE>{IDENTIFIER} { + yy_pop_state(yyscanner); + yylval->str = ralloc_strdup (yyextra, yytext); + return OBJ_IDENTIFIER; } {HASH}undef { diff --git a/mesalib/src/glsl/glcpp/glcpp-parse.y b/mesalib/src/glsl/glcpp/glcpp-parse.y index fb9bc588e..ffb48e330 100644 --- a/mesalib/src/glsl/glcpp/glcpp-parse.y +++ b/mesalib/src/glsl/glcpp/glcpp-parse.y @@ -160,10 +160,10 @@ add_builtin_define(glcpp_parser_t *parser, const char *name, int value); %lex-param {glcpp_parser_t *parser} %expect 0 -%token COMMA_FINAL DEFINED ELIF_EXPANDED HASH HASH_DEFINE_FUNC HASH_DEFINE_OBJ HASH_ELIF HASH_ELSE HASH_ENDIF HASH_IF HASH_IFDEF HASH_IFNDEF HASH_LINE HASH_UNDEF HASH_VERSION IDENTIFIER IF_EXPANDED INTEGER INTEGER_STRING LINE_EXPANDED NEWLINE OTHER PLACEHOLDER SPACE +%token COMMA_FINAL DEFINED ELIF_EXPANDED HASH HASH_DEFINE FUNC_IDENTIFIER OBJ_IDENTIFIER HASH_ELIF HASH_ELSE HASH_ENDIF HASH_IF HASH_IFDEF HASH_IFNDEF HASH_LINE HASH_UNDEF HASH_VERSION IDENTIFIER IF_EXPANDED INTEGER INTEGER_STRING LINE_EXPANDED NEWLINE OTHER PLACEHOLDER SPACE %token PASTE %type <ival> expression INTEGER operator SPACE integer_constant -%type <str> IDENTIFIER INTEGER_STRING OTHER +%type <str> IDENTIFIER FUNC_IDENTIFIER OBJ_IDENTIFIER INTEGER_STRING OTHER %type <string_list> identifier_list %type <token> preprocessing_token conditional_token %type <token_list> pp_tokens replacement_list text_line conditional_tokens @@ -227,13 +227,13 @@ expanded_line: ; control_line: - HASH_DEFINE_OBJ IDENTIFIER replacement_list NEWLINE { + HASH_DEFINE OBJ_IDENTIFIER replacement_list NEWLINE { _define_object_macro (parser, & @2, $2, $3); } -| HASH_DEFINE_FUNC IDENTIFIER '(' ')' replacement_list NEWLINE { +| HASH_DEFINE FUNC_IDENTIFIER '(' ')' replacement_list NEWLINE { _define_function_macro (parser, & @2, $2, NULL, $5); } -| HASH_DEFINE_FUNC IDENTIFIER '(' identifier_list ')' replacement_list NEWLINE { +| HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' replacement_list NEWLINE { _define_function_macro (parser, & @2, $2, $4, $6); } | HASH_UNDEF IDENTIFIER NEWLINE { @@ -1843,7 +1843,7 @@ glcpp_parser_lex (YYSTYPE *yylval, YYLTYPE *yylloc, glcpp_parser_t *parser) if (ret == NEWLINE) parser->in_control_line = 0; } - else if (ret == HASH_DEFINE_OBJ || ret == HASH_DEFINE_FUNC || + else if (ret == HASH_DEFINE || ret == HASH_UNDEF || ret == HASH_IF || ret == HASH_IFDEF || ret == HASH_IFNDEF || ret == HASH_ELIF || ret == HASH_ELSE || |