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

Ian Romanick idr at freedesktop.org
Tue Oct 4 17:42:24 PDT 2011


On 10/04/2011 05:36 PM, Eric Anholt wrote:
> On Tue, 04 Oct 2011 12:11:54 -0700, Ian Romanick<idr at freedesktop.org>  wrote:
>> 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.
>
> Oh, cool.  I'll quote this in the code.  Shall we move these tests out
> to 1.10 instead of 1.30?

I didn't mention it, but GLSL 1.10 has the same language in the same 
place.  So, what Ken said. :)


More information about the mesa-dev mailing list