[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