[Mesa-dev] [PATCH] glsl: Consider "__" in identifers as reserved in GLSL 1.30+.

Ian Romanick idr at freedesktop.org
Tue Oct 4 12:11:54 PDT 2011


On 10/04/2011 10:39 AM, Eric Anholt wrote:
> On Mon, 03 Oct 2011 17:02:29 -0700, Kenneth Graunke<kenneth at whitecape.org>  wrote:
>> On 10/03/2011 04:51 PM, Eric Anholt wrote:
>>> ---
>>>   src/glsl/ast_to_hir.cpp |    6 ++++++
>>>   1 files changed, 6 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
>>> index 91a2231..99ca321 100644
>>> --- a/src/glsl/ast_to_hir.cpp
>>> +++ b/src/glsl/ast_to_hir.cpp
>>> @@ -2803,6 +2803,12 @@ ast_declarator_list::hir(exec_list *instructions,
>>>   	    _mesa_glsl_error(&  loc, state,
>>>   			     "identifier `%s' uses reserved `gl_' prefix",
>>>   			     decl->identifier);
>>> +	 else if (state->language_version>= 130&&
>>> +		  strstr(decl->identifier, "__")) {
>>> +	    _mesa_glsl_error(&  loc, state,
>>> +			     "identifier `%s' uses reserved `__' string",
>>> +			     decl->identifier);
>>> +	 }
>>>
>>>   	 /* Add the variable to the symbol table.  Note that the initializer's
>>>   	  * IR was already processed earlier (though it hasn't been emitted
>>
>> That text is present in 1.10 and ES as well, so you should probably just
>> drop the version check.
>>
>> With that change,
>> Reviewed-by: Kenneth Graunke<kenneth at whitecape.org>
>
> I see that text for preprocessor, but 1.10 and 1.20 didn't have text for
> it in identifier names in section 3.7 where it is in 1.30.  Can you
> cite?

Page 17 (page 23 of the PDF) of the GLSL ES 1.0.17 spec says:

     "In addition, all identifiers containing two consecutive
     underscores (__) are reserved as possible future keywords."

Page 11 (page 17 of the PDF) of the GLSL 1.20 spec says the same thing. 
  It's cleverly hidden in the section about keywords.


More information about the mesa-dev mailing list