[Mesa-dev] [PATCH] glsl/glcpp: rename ERROR to ERROR_TOKEN to fix MSVC build

Jose Fonseca jfonseca at vmware.com
Wed Jul 30 03:31:19 PDT 2014


On 30/07/14 03:42, Kenneth Graunke wrote:
> On Tuesday, July 29, 2014 05:02:39 PM Brian Paul wrote:
>> ERROR is a #define in the MSVC WinGDI.h header file.
>> Add the _TOKEN suffix as we do for a few other lexer tokens.

Brian, sorry I missed your review and ended up duplicating it  byte per 
byte!  Obviously it looks fine to me.

>
> How about ERROR_TOK?  That's what we use in the main compiler.

Kenneth, I also think it is worth to have some unique prefix/suffix on 
all tokens, to prevent this sort of collisions and make the code more 
consistent.  But I believe that if/what prefix/suffix to use is 
something that glsl maintainers need to discuss and figure out among 
themselves.  In the meanwhile, we just need to fix the build somehow. 
And _TOKEN is at least consistent with some of other existing tokens FWIW.

Jose

>
> Either way,
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
>
>> ---
>>   src/glsl/glcpp/glcpp-lex.l   |    2 +-
>>   src/glsl/glcpp/glcpp-parse.y |    6 +++---
>>   2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l
>> index 4b9ab23..c126850 100644
>> --- a/src/glsl/glcpp/glcpp-lex.l
>> +++ b/src/glsl/glcpp/glcpp-lex.l
>> @@ -350,7 +350,7 @@ HEXADECIMAL_INTEGER	0[xX][0-9a-fA-F]+[uU]?
>>
>>   <HASH>error.* {
>>   	BEGIN INITIAL;
>> -	RETURN_STRING_TOKEN (ERROR);
>> +	RETURN_STRING_TOKEN (ERROR_TOKEN);
>>   }
>>
>>   	/* After we see a "#define" we enter the <DEFINE> start state
>> diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
>> index bc873cd..4ee4110 100644
>> --- a/src/glsl/glcpp/glcpp-parse.y
>> +++ b/src/glsl/glcpp/glcpp-parse.y
>> @@ -171,11 +171,11 @@ add_builtin_define(glcpp_parser_t *parser, const char *name, int value);
>>   	/* We use HASH_TOKEN, DEFINE_TOKEN and VERSION_TOKEN (as opposed to
>>            * HASH, DEFINE, and VERSION) to avoid conflicts with other symbols,
>>            * (such as the <HASH> and <DEFINE> start conditions in the lexer). */
>> -%token COMMA_FINAL DEFINED ELIF_EXPANDED HASH_TOKEN DEFINE_TOKEN FUNC_IDENTIFIER OBJ_IDENTIFIER ELIF ELSE ENDIF ERROR IF IFDEF IFNDEF LINE PRAGMA UNDEF VERSION_TOKEN GARBAGE IDENTIFIER IF_EXPANDED INTEGER INTEGER_STRING LINE_EXPANDED NEWLINE OTHER PLACEHOLDER SPACE PLUS_PLUS MINUS_MINUS
>> +%token COMMA_FINAL DEFINED ELIF_EXPANDED HASH_TOKEN DEFINE_TOKEN FUNC_IDENTIFIER OBJ_IDENTIFIER ELIF ELSE ENDIF ERROR_TOKEN IF IFDEF IFNDEF LINE PRAGMA UNDEF VERSION_TOKEN GARBAGE IDENTIFIER IF_EXPANDED INTEGER INTEGER_STRING LINE_EXPANDED NEWLINE OTHER PLACEHOLDER SPACE PLUS_PLUS MINUS_MINUS
>>   %token PASTE
>>   %type <ival> INTEGER operator SPACE integer_constant
>>   %type <expression_value> expression
>> -%type <str> IDENTIFIER FUNC_IDENTIFIER OBJ_IDENTIFIER INTEGER_STRING OTHER ERROR PRAGMA
>> +%type <str> IDENTIFIER FUNC_IDENTIFIER OBJ_IDENTIFIER INTEGER_STRING OTHER ERROR_TOKEN PRAGMA
>>   %type <string_list> identifier_list
>>   %type <token> preprocessing_token conditional_token
>>   %type <token_list> pp_tokens replacement_list text_line conditional_tokens
>> @@ -421,7 +421,7 @@ control_line_success:
>>   ;
>>
>>   control_line_error:
>> -	HASH_TOKEN ERROR NEWLINE {
>> +	HASH_TOKEN ERROR_TOKEN NEWLINE {
>>   		glcpp_error(& @1, parser, "#%s", $2);
>>   	}
>>   |	HASH_TOKEN GARBAGE pp_tokens NEWLINE  {
>>
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/mesa-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=unZdw6Fem4fe10DP3h0mE612BC%2BXp0BkVTLSl62H0LA%3D%0A&s=12ec183a15bb542d696763fb9395b5fc1d4deda69b5a4e2e6dd92dbc6304defc



More information about the mesa-dev mailing list