From 684b701c124cf258ba9012adf51357e072ae61f9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 3 Oct 2011 16:27:59 -0700 Subject: [PATCH] glsl: Consider "__" in identifers as reserved. Fixes double-underscore-*.frag. Reviewed-by: Kenneth Graunke --- src/glsl/ast_to_hir.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index 91a2231605d..4f8a5482bed 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -2803,6 +2803,19 @@ 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, "__")) { + /* From page 14 (page 20 of the PDF) of the GLSL 1.10 + * spec: + * + * "In addition, all identifiers containing two + * consecutive underscores (__) are reserved as + * possible future keywords." + */ + _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 -- 2.30.2